为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕森卡 2019-12-12 14:37:48
在我的代码中,我根据分割了一个字符串_并获取了数组中的第二项。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上尝试过...
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

使用捕获括号:


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

"luck_buddy"

它们被定义为


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


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


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


查看完整回答
反对 回复 2019-12-12
?
ibeautiful

TA贡献1993条经验 获得超5个赞

您需要什么正则表达式和数组?


myString = myString.substring(myString.indexOf('_')+1)

var myString= "hello_there_how_are_you"

myString = myString.substring(myString.indexOf('_')+1)

console.log(myString)


查看完整回答
反对 回复 2019-12-12
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

String.split不幸的是,Javascript 无法限制实际的拆分次数。它有第二个参数,它指定要返回多少实际拆分项目,这在您的情况下没有用。解决方案是拆分字符串,将第一个项目移开,然后重新加入其余项目:


var element = $(this).attr('class');

var parts = element.split('_');


parts.shift(); // removes the first item from the array

var field = parts.join('_');


查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 813 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信