仅在指定字符的第一个实例上分割字符串
在我的代码中,我基于分割了一个字符串_
并获取了数组中的第二项。
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