找到字符后的第一个字符串

时间:2016-09-21 23:48:21

标签: javascript jquery html regex substr

我想找一个特殊字符后面的第一个字符。 例如: 字符串:dog / 11/99 我希望jQuery找到1(第一个/之后的字符)然后是9(第二个之后的字符/)

<table border="1">
   <tr><td class="abc">apple</td></tr>
   <tr><td class="abc">ball</td></tr>
   <tr><td class="abc">cat/55/77</td></tr>
   <tr><td class="abc">dog/11/99</td></tr>
</table>

我需要查看整个表格,然后在特殊字符后面给我字符。

知道我怎么能做到这一点吗?

2 个答案:

答案 0 :(得分:1)

尝试使用正则表达式:

/\/(.)/g

这将返回任何/之后的第一个字符 例如:

var match, regex = /\/(.)/g;
while (match = regex.exec('dog/11/99')) console.log(match);
// ["/1", "1", index: 3, input: "dog/11/99"]
// ["/9", "9", index: 6, input: "dog/11/99"]

match[1]是您想要的角色。

答案 1 :(得分:0)

您可以将.match()RegExp /\W/匹配,以匹配不是单词字符的字符,返回数组的.indexString.prototype.slice(),括号表示法在字符串索引处获取所选字符。

&#13;
&#13;
var str = document.querySelector("table tr:last-child td").textContent;
var index = str.match(/\W/).index;
var res1 = str[index + 1];
var res2 = str.slice(index, str.length).match(/\W/).index;
var res2 = str[
             str.slice(index + 1, str.length).match(/\W/).index + 1 
             + index + 1
           ];

console.log(res1, res2);
&#13;
<table border="1">
   <tr><td class="abc">apple</td></tr>
   <tr><td class="abc">ball</td></tr>
   <tr><td class="abc">cat/55/77</td></tr>
   <tr><td class="abc">dog/11/99</td></tr>
</table>
&#13;
&#13;
&#13;