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

JavaScriptで文字列に特定のテキストが含まれているか確認する方法

JavaScriptで文字列内のテキストを検索する方法

JavaScriptで文字列に特定のテキストが含まれているかどうかを確認するには、Stringオブジェクトのsearch()メソッドを使用します。search()メソッドは、引数で指定した文字列(または正規表現)が対象の文字列内で最初に現れる位置(インデックス番号)を返します。見つからなかった場合は -1 を返すため、この戻り値を判定することで、特定のテキストが含まれているかどうかを簡単にチェックできます。

search()メソッドの基本的な使い方

以下のコードは、「Tutorialspoint: Free Video Tutorials」という文字列に「Free Video」というテキストが含まれているかどうかを判定する例です。

<html>
<head>
    <title>JavaScript String search() Method</title>
</head>
<body>
    <script>
        var re = "Free Video";
        var str = "Tutorialspoint: Free Video Tutorials";
        
        if (str.search(re) == -1) {
            document.write("含まれていません");
        } else {
            document.write("含まれています");
        }
    </script>
</body>
</html>

コードの解説

  • str.search(re):文字列 str の中から re で指定したテキストを検索します。
  • テキストが見つかった場合は、その開始位置(0以上の整数)が返されます。
  • 見つからなかった場合は -1 が返されるため、-1 との比較で有無を判定できます。

この例では「Free Video」が文字列内に存在するため、実行結果として「含まれています」が出力されます。

補足:includes()メソッドという選択肢

単純に文字列の有無だけを確認したい場合は、ES6(ECMAScript 2015)以降で利用可能な includes()メソッド の方がより直感的です。includes() は真偽値(true / false)を直接返すため、コードがシンプルになります。

var str = "Tutorialspoint: Free Video Tutorials";

if (str.includes("Free Video")) {
    console.log("含まれています");
} else {
    console.log("含まれていません");
}

検索位置(インデックス)が必要な場合は search()indexOf()、単純な存在確認であれば includes() を使うとよいでしょう。

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

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

  2. Pythonで文字列が英数字のみで構成されているか判定する方法【isalnum()と正規表現】

    Pythonでは、文字列がアルファベットや数字だけで構成されているかどうかを簡単にチェックできます。主な方法は2つあります。1つは文字列クラスに組み込まれている isalnum() メソッドを使う方法、もう1つは正規表現(regex)を使う方法です。 1. isalnum() メソッドを使う方法 Pythonの文字列クラスには isalnum() というメソッドが用意されています。このメソッドを文字列に対して呼び出すと、その文字列が英数字(アルファベットと数字)のみで構成されている場合に True を、それ以外の場合に False を返します。 使用例:英数字のみの文字列 print(12