2013-10-03 15 views
27

Tôi có một chuỗi: "www.google.com.sdg.jfh.sd"Tìm chỉ số đầu tiên của một chuỗi sau khi chỉ số

Tôi muốn tìm ra ".S" đầu tiên chuỗi được tìm thấy sau khi "SDG ".

vì vậy tôi có index of "SDG", bởi:

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

bây giờ tôi cần phải tìm ra ".S" đầu tiên chỉ số được tìm thấy sau khi "SDG"

bất kỳ sự giúp đỡ đánh giá cao!

+0

Bạn có ý gì khi _ "tìm chỉ mục đầu tiên."? _ Bạn muốn tìm vị trí của nó trong chuỗi? – matewka

Trả lời

12

Mã này có thể hữu ích

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

Bạn có thể kiểm tra nó HERE

+0

Khái niệm này là hoàn hảo khi sử dụng regex để lấy chỉ mục. 'indexOf (string)', câu trả lời tiếp theo rõ ràng là tốt hơn, nhưng trong trường hợp của 'new RegExp (searchString," g "). exec (văn bản) .index', điều này thật tuyệt vời. :-) –

90

Có một tham số thứ hai kiểm soát vị trí bắt đầu tìm kiếm:

String.prototype.indexOf(arg, startPosition); 

Vì vậy, bạn có thể làm

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"); 
Các vấn đề liên quan