スポンサーリンク

JavaScriptの文字列の検索処理

JavaScriptの文字列の検索 JavaScript
JavaScriptの文字列の検索

はい、ぺんしるです。

JavaScriptの文字列の検索方法について説明していきます。

検索というと分かりづらいかもしれませんが、文字列に特定の文字が含まれるかを判定する処理のことです。


業務でも必ず使用する処理なので、しっかり覚えておいてくださいね(^^)/

スポンサーリンク

indexOf()メソッド

indexOf()メソッドを使う方法です。

indexOf()メソッドは、引数で指定された文字が文字列に存在すれば、そのインデックスを返却。見つからなければ-1を返却します。

文字列から検索

文字列から特定の文字を検索する方法です。

以下の例では、文字列’abcde’から’c’を検索して、インデックス番号の2を返却しています。

var str = 'abcde';
var ret = str.indexOf('c');
console.log(ret); //2が出力される


以下の例では、文字列’abcde’から’x’を検索して、’x’が見つからないので-1を返却しています。

var str = 'abcde';
var ret = str.indexOf('x');
console.log(ret); //-1が出力される

配列から検索

配列から特定の文字を検索する方法です。

以下の例では、配列[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]から’c’を検索して、インデックス番号の2を返却しています。

var str = ['a', 'b', 'c', 'd', 'e'];
var ret = str.indexOf('c');
console.log(ret); //2が出力される


以下の例では、文字列’abcde’から’x’を検索して、’x’が見つからないので-1を返却しています。

var str = ['a', 'b', 'c', 'd', 'e'];
var ret = str.indexOf('x');
console.log(ret); //-1が出力される

正規表現

正規表現を使って、文字列から文字を検索する方法です。

match()メソッド

match()メソッドは、引数で指定された正規表現と合致した文字が文字列に存在すれば、配列を返却。見つからなければnullを返却します。

以下の例では、文字列’abcde’から’c’を検索して、配列を返却しています。

var str = 'abcde';
var ret = str.match(/c/);
console.log(ret); // ["c", index: 2, input: "abcde", groups: undefined] が出力される


以下の例では、文字列’abcde’から’x’を検索して、’x’が見つからないのでnullを返却しています。

var str = 'abcde';
var ret = str.match(/x/);
console.log(ret); //nullが出力される

search()メソッド

search()メソッドは、引数で指定された文字が文字列に存在すれば、そのインデックスを返却。見つからなければ-1を返却します。indexOf()メソッドの正規表現が使える版と理解してください。

以下の例では、文字列’abcde’から’c’を検索して、インデックス番号の2を返却しています。

var str = 'abcde';
var ret = str.search(/c/);
console.log(ret); //2が出力される


以下の例では、文字列’abcde’から’x’を検索して、’x’が見つからないので-1を返却しています。

var str = 'abcde';
var ret = str.search(/x/);
console.log(ret); //-1が出力される

test()メソッド

test()メソッドは、指定した正規表現の文字が文字列に存在すれば、trueを返却。見つからなければfalseを返却します。

以下の例では、文字列’abcde’から’c’を検索して、trueを返却しています。

var str = 'abcde';
var ret = /c/.test(str);
console.log(ret); //trueが出力される


以下の例では、文字列’abcde’から’x’を検索して、’x’が見つからないのでfalseを返却しています。

var str = 'abcde';
var ret = /x/.test(str);
console.log(ret); //falseが出力される

最後に

いかがでしたか?

他にもincludes ()メソッドもありますが、これはIE11では使用できないので解説していません。

不明点があれば、遠慮なくこちら、またはこちら(匿名での質問ができます)からご質問くださいね。


正規表現の理解が難しければ、以下の本が参考になりますよ。

ではまた!

コメント

タイトルとURLをコピーしました