JavaScriptにおける文字列のマッチング

JavaScriptにおける文字列のマッチング

JavaScriptにおける文字列のマッチング

JavaScriptでは、文字列のマッチングを行うために多くのメソッドや正規表現が用意されています。本記事では、それらを詳細に解説し、使用例を多数示します。

文字列が含まれているか確認する: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メソッドは、正規表現を使って文字列内のマッチする最初の位置を返します。

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も楽しい"]

これらのメソッドを組み合わせて、さまざまな文字列処理に対応できます。

コメントを残す

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