JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

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

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

JavaScriptで文字列からすべての空白(スペース)を取り除きたい場合、最もシンプルで確実な方法は replace() メソッドと正規表現(RegEx) を組み合わせることです。

replace() と正規表現を使った基本の書き方

正規表現 /\s/g を使うことで、半角スペースだけでなく、タブや改行などすべての種類の空白文字を一度に削除できます。\s は「任意の空白文字」にマッチする特殊文字で、末尾の g フラグは「文字列全体を対象に置換する」ことを意味します。

const sentence = "This sentence has 6 white space characters.";

console.log(sentence.replace(/\s/g, ""));
// "Thissentencehas6whitespacecharacters."

このコードでは、sentence の中にある6つの空白文字がすべて取り除かれ、空白のない1つの文字列として出力されます。

注意:元の文字列は変更されない

上記の例では、結果をコンソールに出力しているだけなので、元の変数 sentence 自体は変更されていません。JavaScriptの文字列はイミュータブル(不変)であるため、replace() は常に新しい文字列を返します。

削除結果を永続的に保持する方法

テキストから空白を完全に取り除いた状態を後続の処理でも使い回したい場合は、新しい変数を作成し、そこに sentence.replace(/\s/g, "") の戻り値を代入しましょう。

// 空白を含む元の文字列
const sentence = "This sentence has 6 white space characters.";

// 空白をすべて削除した新しい文字列
const sentenceRemoveWhiteSpace = sentence.replace(/\s/g, "");

console.log(sentenceRemoveWhiteSpace);
// Thissentencehas6whitespacecharacters.

こうすることで、元の文字列 sentence はそのまま残しつつ、空白を除去した文字列を別の変数として扱えるようになります。

補足:他の方法との違い

  • trim():文字列の先頭と末尾の空白のみを削除します。文字列の中間にある空白は削除できません。
  • replaceAll(" ", ""):半角スペースはすべて削除できますが、タブ(\t)や改行(\n)までは対応できません。
  • split(" ").join(""):古い環境向けの代替手段ですが、現在では replace(/\s/g, "") の方が簡潔で汎用的です。

あらゆる種類の空白文字を確実に削除したい場合は、replace(/\s/g, "") を使うのがベストプラクティスです。

  1. JavaScriptの正規表現を使って文字列の特定部分を削除する方法

    JavaScriptでは、正規表現(RegExp)と replace() メソッドを組み合わせることで、文字列の中から指定した2つの区切り文字に挟まれた部分を簡単に削除できます。基本的な考え方たとえば、括弧「( )」で囲まれたテキストを削除したい場合は、次のような正規表現パターンを使用します。/ *\([^)]*\) */g — 括弧とその中身、および前後の空白にマッチします。\( と \) — 開き括弧と閉じ括弧そのものにマッチします。[^)]* — 閉じ括弧以外の任意の文字列にマッチします。末尾の g フラグ — 文字列内のすべての該当箇所を置換対象にします。サンプルコード以下は、文字列か

  2. JavaScriptで文字列からすべてのスペースを削除する方法

    問題JavaScriptで、文字列を受け取り、その文字列に含まれるすべての半角スペースを取り除いた新しい文字列を返す関数を作成します。たとえば、単語の間や文字の間に入っている余分なスペースがすべて削除され、連続した文字列だけが残るイメージです。実装例:ループ処理を使う方法まずは基本的なアプローチとして、forループで文字列を1文字ずつ確認し、スペース以外の文字だけを結果に連結していく方法を見てみましょう。const str = some random string ex a m pl e; const removeSpaces = (str = ) => {   l