JavaScriptにおける文字列のマッチング
JavaScriptにおける文字列のマッチング
JavaScriptでは、文字列のマッチングを行うために多くのメソッドや正規表現が用意されています。本記事では、それらを詳細に解説し、使用例を多数示します。
- 文字列が含まれているか確認する:includes
- 文字列の位置を検索する:indexOf
- 文字列の先頭を確認する:startsWith
- 文字列の末尾を確認する:endsWith
- 正規表現でマッチする部分を抽出する:match
- 正規表現でマッチする位置を検索する:search
- 文字列の置換を行う:replace
- 文字列を分割する:split
- 実践的な例題と応用
文字列が含まれているか確認する:includes
includes
メソッドは、特定の文字列が含まれているかどうかを確認するために使用されます。
const text = "JavaScriptは楽しい";
console.log(text.includes("楽しい")); // true
console.log(text.includes("難しい")); // false
オプションで検索を開始する位置を指定することもできます。
console.log(text.includes("Java", 5)); // false (5文字目以降には"Java"がない)
文字列の位置を検索する:indexOf
indexOf
メソッドは、指定した文字列が最初に現れる位置を返します。見つからない場合は-1
を返します。
const text = "JavaScriptは楽しい";
console.log(text.indexOf("楽しい")); // 10
console.log(text.indexOf("難しい")); // -1
文字列の検索位置を指定することも可能です。
console.log(text.indexOf("は", 5)); // 9
文字列の先頭を確認する:startsWith
startsWith
メソッドは、文字列が指定された文字列で始まっているかどうかを確認します。
const text = "JavaScriptは楽しい";
console.log(text.startsWith("Java")); // true
console.log(text.startsWith("楽しい")); // false
検索を開始する位置を指定することもできます。
console.log(text.startsWith("楽しい", 10)); // true
文字列の末尾を確認する:endsWith
endsWith
メソッドは、文字列が指定された文字列で終わっているかどうかを確認します。
const text = "JavaScriptは楽しい";
console.log(text.endsWith("楽しい")); // true
console.log(text.endsWith("Java")); // false
長さを指定して確認することもできます。
console.log(text.endsWith("Java", 4)); // true
正規表現でマッチする部分を抽出する:match
match
メソッドは、正規表現を使って文字列から特定のパターンを抽出します。
const text = "JavaScriptは楽しい。JavaScriptは強力です。";
const result = text.match(/JavaScript/g);
console.log(result); // ["JavaScript", "JavaScript"]
マッチがない場合はnull
を返します。
正規表現でマッチする位置を検索する:search
search
メソッドは、正規表現を使って文字列内のマッチする最初の位置を返します。
const text = "JavaScriptは楽しい";
console.log(text.search(/楽しい/)); // 10
console.log(text.search(/難しい/)); // -1
文字列の置換を行う:replace
replace
メソッドは、指定した文字列または正規表現にマッチする部分を置換します。
const text = "JavaScriptは楽しい";
console.log(text.replace("楽しい", "素晴らしい")); // "JavaScriptは素晴らしい"
console.log(text.replace(/楽しい/g, "素晴らしい")); // 正規表現を使用
文字列を分割する:split
split
メソッドは、指定した文字列または正規表現で文字列を分割します。
const text = "JavaScript,Python,Ruby";
const result = text.split(",");
console.log(result); // ["JavaScript", "Python", "Ruby"]
実践的な例題と応用
最後に、これまでのメソッドを組み合わせた例を示します。
// 複数のパターンを検索し、結果を整形して出力
const text = "JavaScriptは楽しい。Pythonも楽しい。Rubyはどうでしょう?";
const matches = text.match(/楽しい/g) || [];
console.log(`楽しいの出現回数: ${matches.length}`); // 楽しいの出現回数: 2
// 指定したキーワードが含まれている行を抽出
const lines = text.split("。");
const filtered = lines.filter(line => line.includes("楽しい"));
console.log(filtered); // ["JavaScriptは楽しい", "Pythonも楽しい"]
これらのメソッドを組み合わせて、さまざまな文字列処理に対応できます。