我说我有一个字符串and the cow went @moo
,我想只选择moo ......我该怎么做呢?
答案 0 :(得分:6)
var moo = "blah blah cow @moo".match(/@([^ ]*)/)[1];
正则表达式@([^ ]*)
表示:找到字符@
,然后获取所有字符,直到遇到空格(或隐含字符串的结尾)。括号中的正则表达式的任何部分都存储并以数组形式返回。第一个元素始终是整个匹配,在本例中为@moo
,之后是正则表达式中每个括号内的匹配,从左到右。
答案 1 :(得分:1)
试试这个:
var haystack = "the cow ran around and subsequently went @moo";
if (haystack.indexOf("@")) {
alert(haystack.substr(haystack.indexOf("@") + 1));
}
当然,这仅适用于@。
的第一个实例答案 2 :(得分:0)
答案 3 :(得分:0)
你也可以避免使用正则表达式并拥有:
var chunks = "the cow went @moo".split("@");
alert(chunks[chunks.length - 1]);
答案 4 :(得分:0)
这很简单,您可以将两个功能结合使用以获得特定结果。 我在这里使用下划线,你可以使用任何字符代替它。
new_string = your_string.split('_').pop().trim();
答案 5 :(得分:0)
我在这里使用下划线,你可以使用任何字符代替它。
new_string = your_string.split('_')。pop()。trim();