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

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

JavaScriptでは、文字列からすべての空白(ホワイトスペース)を取り除いた新しい文字列を返す関数が必要になる場面があります。本記事では、その実装方法をいくつかのアプローチとともに解説します。

forループを使った基本的な実装

まずは、文字列を1文字ずつ確認し、空白でない文字だけを連結していくシンプルな方法です。

const str = "This is an example string from which all whitespaces will be removed";

const removeWhitespaces = str => {
    let newStr = '';
    for (let i = 0; i < str.length; i++) {
        if (str[i] !== " ") {
            newStr += str[i];
        }
    }
    return newStr;
};

console.log(removeWhitespaces(str));

出力結果

コンソールには以下のように表示されます。

Thisisanexamplestringfromwhichallwhitespaceswillberemoved

replace()メソッドと正規表現を使う方法

実際の開発では、String.prototype.replace()と正規表現を組み合わせる方法が最も一般的で、コードも簡潔になります。

const str = "This is an example string";

// 半角スペースのみ削除
const result1 = str.replace(/ /g, '');

// タブや改行など、すべての種類の空白を削除
const result2 = str.replace(/\s+/g, '');

// 全角スペースにも対応する場合
const result3 = str.replace(/[\s\u3000]+/g, '');

console.log(result1); // Thisisanexamplestring
console.log(result2); // Thisisanexamplestring

正規表現のポイント

  • / /g:半角スペースだけを対象にし、gフラグで文字列全体を置換します。
  • /\s+/g\sは半角スペース・タブ・改行などの空白文字すべてにマッチします。
  • /[\s\u3000]+/g\u3000は全角スペースを表すため、日本語テキストを扱う際に便利です。

split()とjoin()を使う方法

正規表現を使いたくない場合は、split()join()を組み合わせる手法もあります。

const str = "This is an example string";
const result = str.split(' ').join('');

console.log(result); // Thisisanexamplestring

まとめ

  • 学習目的やロジックの理解にはforループによる実装が有効です。
  • 実務ではreplace(/\s+/g, '')が最も簡潔でパフォーマンスも良好です。
  • 日本語を含むテキストでは全角スペース(\u3000)への対応を忘れないようにしましょう。

用途に応じて適切な方法を選択することで、可読性と保守性の高いコードを実現できます。

  1. JavaScriptの文字列入門|定義方法から比較演算子までわかりやすく解説

    JavaScriptにおける文字列(String)は、他の多くのプログラミング言語と同様に、テキスト形式でデータを保持するデータ型です。Webアプリケーションにおいて文字列がよく使われる場面のひとつが、フォームからのユーザー入力の保持です。たとえば検索フォームでは、ユーザーが入力した検索キーワードは文字列として保存されます。 ユーザーが検索フォームに入力して送信すると、送信された文字列に対して比較操作が行われます。これは、一致する情報を見つけ出し、その結果をユーザーに返すためです。比較操作には「=」「==」「===」「」といったJavaScriptの演算子が使われ、これらは文字列が持つ値を比

  2. JavaScriptで文字列を真偽値(Boolean)に変換する方法

    JavaScriptでは、文字列が「true」というリテラルと一致するかどうかを比較演算子で判定することで、文字列を実質的に真偽値(Boolean)として扱うことができます。ここでは、==(緩い等価比較)と===(厳密等価比較)の2つの方法を使った具体例を紹介します。 サンプルコード <!DOCTYPE html> <html> <head> <style>     body {         font-family: &