在我的代码中,我基于_分割字符串并获取数组中的第二项。
var element = $(this).attr('class');
var field = element.split('_')[1];
带来好运,给我带来好运。工作好了!
但是,现在我有了一个看起来像good_luck_buddy的类。我如何让我的javascript忽略第二个_,给我luck_buddy?
我找到了var field = element。Split (new char [] {'_'}, 2);在c# stackoverflow中回答,但它不起作用。我尝试在jsFiddle…
现在String.prototype.split确实允许你限制分割的数量。
str.split([分隔符[,限制]])
...
限制可选
限制分割次数的非负整数。如果提供,则在指定分隔符的每个出现处拆分字符串,但在数组中已放入限制项时停止。数组中根本不包括任何剩余文本。
如果在达到限制之前到达字符串的末尾,则数组包含的条目可能少于限制。
如果limit为0,则不进行拆分。
警告
它可能不会像你期望的那样工作。我希望它只是忽略其余的分隔符,但相反,当它达到限制时,它再次分割剩余的字符串,从返回结果中省略分割后的部分。
let str = 'A_B_C_D_E'
const limit_2 = str.split('_', 2)
limit_2
(2) ["A", "B"]
const limit_3 = str.split('_', 3)
limit_3
(3) ["A", "B", "C"]
我希望:
let str = 'A_B_C_D_E'
const limit_2 = str.split('_', 2)
limit_2
(2) ["A", "B_C_D_E"]
const limit_3 = str.split('_', 3)
limit_3
(3) ["A", "B", "C_D_E"]