2013-10-03 18 views
27

後の文字列の最初のインデックスを探します"私は、文字列を持つインデックス

ので、私はにより、「SDG」のインデックスを持っています。今、私は任意のヘルプは感謝

『SDG』の後に発見された最初の「.S」のインデックスを見つける必要があり

var start_index = str.indexOf("sdg"); 

+0

「最初の.sインデックスを見つける」とはどういう意味ですか?_文字列内の位置を探したいですか? – matewka

答えて

12

を行うことができます。このコードは役に立ち

var string = "www.google.com.sdg.jfh.sd", 
    preString = "sdg", 
    searchString = ".s", 
    preIndex = string.indexOf(preString), 
    searchIndex = preIndex + string.substring(preIndex).indexOf(searchString); 

かもしれないあなたはそれをテストすることができますHERE

+0

この概念は、インデックスを取得するためにregexを使用する場合に最適です。 'indexOf(string)'の場合、次の答えは明らかに優れていますが、 'new RegExp(searchString、" g ")。exec(text).index'の場合はこれが素晴らしいです。 :-) –

90

検索の開始位置を制御する第2のパラメータがあります:

String.prototype.indexOf(arg, startPosition); 

ですから、

str.indexOf('s', start_index); 
2
var str = "www.google.com.sdg.jfh.sd"; 
var search = "sdg"; 
var start_index = str.substring(str.indexOf(search) + search.length).indexOf(".s"); 
関連する問題