2013-12-13 55 views
0
<li class="item">hello?james</a></li> 
<li class="item">goodbye?michael</a></li> 

我想提取符號「?」後面的文本, - >詹姆斯,邁克爾使用javascript的子串特定文本

我試圖用一個子方法,但如果我指定的起點和類似SUBSTR(5,10)或SUBSTR(5)等

我使用這個結束它只能當我使用foreach的php方法從另一個文件中提取時,所以我需要「?」之後的所有內容。

有沒有什麼方法可以從一個字符(例如「?」)或特定的字符串開始子字符串?

非常感謝!

+5

' 「你好詹姆斯?」 .split( 「?」)[1];' –

+1

或者str.substr(str.indexOf()+ 1 '?') – Andrew

+0

謝謝。馬修的例子對我很好。 – sfirc

回答

0

使用與捕獲組正則表達式

正則表達式將可以很容易地滿足您的HTML和使用捕獲組(括號),你可以從一個字符串中提取的名字:

var myString = YOUR_HTML_HERE; 
var myRegexp = /<li .*\?([a-zA-Z0-1]*)</g; 
var match = myRegexp.exec(myString); 
alert(match[1]); // james. 

多次執行正則表達式以獲得所有匹配

您可以在原始字符串中再次運行regex以獲得下一個匹配項。爲了讓所有的人,這樣做:

while (match != null) { 
    match = myRegexp.exec(myString); 
    alert(match[1]); // michael 
} 
相關問題