検索と置換[javascript]

シンプルな文字列検索を行う時は、indexOfメソッドを使用します。検索文字列が見つかれば、その先頭の文字インデックスを、見つからなければ -1 を返します。また、lastIndexOfメソッドを使うと、文字列の末尾から検索することができます。いずれも、第二引数に検索を開始したい位置の文字 インデックスを指定することができます。省略時は文字列の先頭(indexOf使用時)または末尾(lastIndexOf使用時)から検索を開始しま す。

str.indexOf(key[, start]) : 文字列の検索(左から右へ)
str.lastIndexOf(key[, start]) : 文字列の検索(右から左へ)
(str : Stringオブジェクト, key : 検索文字列, start : 開始位置)

searchメソッドを使用すると、文字列だけでなく、正規表現を利用することができます。このメソッドは、見つかった時は先頭の文字インデックスを、 見つからなかった時は -1を返します。また、matchメソッドも正規表現を使用することができます。見つかれば、最初にマッチした文字列を、見つからない時は nullを返します。正規表現については文字列のチェックのページを参照してください。

str.search(regex) : 文字列の位置の確認
str.match(regex) : 文字列の確認
(str : Stringオブジェクト, regex : 確認する文字列または正規表現)

文字列の置換は、replaceメソッドで行います。第一引数に検索文字列を、第二引数に置き換える文字列を指定して使用します。検索文字列のところは 正規表現を使用することも可能です。戻り値は、置換後の文字列となります。元の文字列(検索対象の文字列)に変化はありません。

str.replace(regex, word) : 文字列の置換
(str : Stringオブジェクト, regex : 検索する文字列または正規表現, word : 置換文字列)

var s = "JavaScript Programming Sample.";

var n = s.indexOf("Programming");
document.write(n, "<br>");        // = 11
n = s.lastIndexOf("Programming");
document.write(n, "<br>");        // = 11

n = s.indexOf("Programming", 3);
document.write(n, "<br>");        // = 11
n = s.lastIndexOf("Programming", 3);
document.write(n, "<br>");        // = -1

n = s.search("Programming");
document.write(n, "<br>");        // = 11
var m = s.match(/Programming/);
document.write(m, "<br>");        // "Programming"

var v = s.replace("JavaScript", "VisualBasic");	
document.write(v, "<br>");        // "VisualBasic Programming Sample."

おすすめ

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください