今回は特定の文字以降の文字列を取得したい場合の方法についてjavascriptを使って取得していきたいと思います。
例としてたとえば下記のようなurlのパスがあるとします。
index.html?type=test&search=123
この文字列のなかで「&search=」のあとの文字列を取得したいとします。
その場合どうすればよいのか?
特定の文字列以降の文字列を抽出する方法
下記のように文字列を取得していきます。
let url = 'index.html?type=test&search=123';
let url_search = url.indexOf('&search=');
//「&search=」を含む文字を抽出
let url_txt = url.substring(url_search);
let ret = url_txt.replace("&search=", "");
console.log(url_search);
console.log(url_txt);
console.log(ret);
解説
まずは上から見ていきましょう。
変数の中にあるurlの文字列
let url = 'index.html?type=test&search=123';
まずurlという変数のなかには「index.html?type=test&search=123」の文字列が格納されています。
特定の文字列がある場所を取得する
let url_search = url.indexOf('&search=');
indexOfを使って特定の文字列がある場所を取得します。
特定の文字列を含む文字を抽出
let url_txt = url.substring(url_search);
特定の文字列を削除する
let ret = url_txt.replace("&search=", "");
特定の文字列を削除することでその文字以降だけを残すことができます。
結果
さきほどの処理でコンソールログに出力すると下記のような結果になりました。
console.log(url_search); //20
console.log(url_txt); //&search=123
console.log(ret); //123
最終的に変数「ret」の中に特定の文字列以降の文字のみを格納することができました。
コメント