2013-10-03 2 views
27

후 문자열의 첫 번째 인덱스 찾기 ".내가 문자열이 인덱스

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

지금은 내가 처음 ".S"를 찾아 "SDG"

감사합니다 도움이 후 발견 된 인덱스를 필요

그래서 의해 "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

검색의 시작 위치를 제어하는 ​​두 번째 매개 변수가있다 :

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");