JavaScriptで文字列の空白を削除する方法

JavaScriptで文字列に含まれる空白文字を削除する方法です。空白には改行文字も含まれます。
(実行結果は見づらいですが、TABの変化を見るためにこういう出力にしています)

以降の各サンプルで使用する文字列
const strings = [
    '  a',
    ' a ',
    ' ',
    '  ',
    ' ', // 全角スペース.
    ' あ ', // 前後全角スペース.
    'ab  c d e\t\tf   ', // 全角スペース含む.
    '    \t', // 全角スペース+TAB.
    'N\n',
    '\tN\r\n'
];

前後の空白を削除する

string.trim()を使います。

strings.forEach(str => {
    let s = str.trim();
    console.log(`"${str}" --> \t"${s}"`);
});

実行結果

"  a" -->       "a"
" a " -->       "a"
" " -->         ""
"  " -->        ""
" " -->        ""
" あ " -->    "あ"
"ab  c d e             f   " -->       "ab  c d e             f"
"           " -->   ""
"N
" -->   "N"
"       N
" -->   "N"

先頭にある空白を削除する

string.trimStart()を使います。

strings.forEach(str => {
    let s = str.trimStart();
    console.log(`"${str}" --> \t"${s}"`);
});

実行結果

"  a" -->       "a"
" a " -->       "a "
" " -->         ""
"  " -->        ""
" " -->        ""
" あ " -->    "あ "
"ab  c d e             f   " -->       "ab  c d e             f   "
"           " -->   ""
"N
" -->   "N
"
"       N
" -->   "N
"

末尾にある空白を削除する

string.trimEnd()を使います。

strings.forEach(str => {
    let s = str.trimEnd();
    console.log(`"${str}" --> \t"${s}"`);
});

実行結果

"  a" -->       "  a"
" a " -->       " a"
" " -->         ""
"  " -->        ""
" " -->        ""
" あ " -->    " あ"
"ab  c d e             f   " -->       "ab  c d e             f"
"           " -->   ""
"N
" -->   "N"
"       N
" -->   "       N"

文字列内の空白を全て削除する

文字列内の空白を削除したい場合は正規表現を使います。

string.replaceAll(/\s+/g, '');

正規表現\s+は次のような意味になります。

\s 空白文字に一致
+ 直前の文字の1文字以上の繰り返しにマッチ
strings.forEach(str => {
    let s = str.replaceAll(/\s+/g, '');
    console.log(`"${str}" --> \t"${s}"`);
});

実行結果

"  a" -->       "a"
" a " -->       "a"
" " -->         ""
"  " -->        ""
" " -->        ""
" あ " -->    "あ"
"ab  c d e             f   " -->       "abcdef"
"           " -->   ""
"N
" -->   "N"
"       N
" -->   "N"
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です