在我的代码中,我基于分割了一个字符串_并获取了数组中的第二项。
_
var element = $(this).attr('class'); var field = element.split('_')[1];
需要good_luck并为我提供luck。很棒!
good_luck
luck
但是,现在我有一堂课,看起来像good_luck_buddy。我如何获取我的JavaScript忽略第二个_并给我luck_buddy?
good_luck_buddy
luck_buddy
我var field = element.split(new char [] {'_'}, 2);在ac#stackoverflow答案中找到了它,但是它不起作用。我在jsFiddle上尝试过…
var field = element.split(new char [] {'_'}, 2);
使用捕获括号:
"good_luck_buddy".split(/_(.+)/)[1] "luck_buddy"
它们被定义为
如果separator包含捕获括号,则在数组中返回匹配的结果。
separator
因此,在这种情况下,我们希望在处进行分割_.+(即,分割分隔符是以开头的子字符串_) ,还要 让结果包含分隔符的某些部分(即之后的_所有内容__)。
_.+
在此示例中,我们的分隔符(match_(.+))为_luck_buddy,捕获的组(分隔符内)为lucky_buddy。如果没有捕获括号,则luck_buddy(matching.+)不会包含在结果数组中,因为简单的情况split是结果中不包含分隔符。
_(.+)
_luck_buddy
lucky_buddy
.+
split