小编典典

仅在指定字符的第一个实例上分割字符串

javascript

在我的代码中,我基于分割了一个字符串_并获取了数组中的第二项。

var element = $(this).attr('class');
var field = element.split('_')[1];

需要good_luck并为我提供luck。很棒!

但是,现在我有一堂课,看起来像good_luck_buddy。我如何获取我的JavaScript忽略第二个_并给我luck_buddy

var field = element.split(new char [] {'_'}, 2);在ac#stackoverflow答案中找到了它,但是它不起作用。我在jsFiddle上尝试过…


阅读 423

收藏
2020-05-01

共1个答案

小编典典

使用捕获括号:

"good_luck_buddy".split(/_(.+)/)[1]
"luck_buddy"

它们被定义为

如果separator包含捕获括号,则在数组中返回匹配的结果。

因此,在这种情况下,我们希望在处进行分割_.+(即,分割分隔符是以开头的子字符串_,还要 让结果包含分隔符的某些部分(即之后的_所有内容__)。

在此示例中,我们的分隔符(match_(.+))为_luck_buddy,捕获的组(分隔符内)为lucky_buddy。如果没有捕获括号,则luck_buddy(matching.+)不会包含在结果数组中,因为简单的情况split是结果中不包含分隔符。

2020-05-01