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

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

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上尝试过…

回答:

使用捕获括号:

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

"luck_buddy"

它们被定义为

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

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

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

以上是 仅在指定字符的第一个实例上分割字符串 的全部内容, 来源链接: utcz.com/qa/401380.html

回到顶部