使用javascript的子串特定文本

时间:2013-12-13 10:33:25

标签: javascript substring

<li class="item">hello?james</a></li>
<li class="item">goodbye?michael</a></li>

我想提取符号后面的文字“?” - &GT;詹姆斯,迈克尔

我尝试使用子字符串方法,但只有在指定了开头和结尾时才有效,如substr(5,10)或substr(5)等。

当我从foreach php方法中的另一个文件中提取时,我正在使用它,所以我需要在“?”之后的所有内容。

是否有任何方法可以从字符(例如“?”)或特定字符串开始子字符串?

非常感谢!

1 个答案:

答案 0 :(得分:0)

将正则表达式与捕获组一起使用

正则表达式可以很容易地匹配您的HTML并使用捕获组(括号),您可以从字符串中提取名称:

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

多次执行正则表达式以获得所有匹配

您可以在原始字符串中再次运行正则表达式以获得下一个匹配项。要获得所有这些,请执行以下操作:

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