我有一个字符串“2500 - SomeValue”。如何删除“SomeValue”中“S”之前的所有内容?
var x = "2500 - SomeValue";
var y = x.substring(x.lastIndexOf(" - "),
// this is where I'm stuck, I need the rest of the string starting from here.
谢谢你的帮助。
~ck
我有一个字符串“2500 - SomeValue”。如何删除“SomeValue”中“S”之前的所有内容?
var x = "2500 - SomeValue";
var y = x.substring(x.lastIndexOf(" - "),
// this is where I'm stuck, I need the rest of the string starting from here.
谢谢你的帮助。
~ck
将 3(“ - ”的长度)添加到最后一个索引并省略第二个参数。将一个参数传递给子字符串时的默认设置是转到字符串的末尾
var y = x.substring(x.lastIndexOf(" - ") + 3);
那只是:
var y = x.substring(x.lastIndexOf(" - ") + 3);
当您省略第二个参数时,它只会为您提供字符串末尾的所有内容。
编辑:由于您想要“ - ”之后的所有内容,因此我在起点添加了 3 以跳过这些字符。
x.substring(x.lastIndexOf(" - "),x.length-1); //corrected
尝试
var y = x.split(" ",2);
那么你将有一个子字符串数组。第三个 y[2] 将是您所需要的。
var y = x.substring(0, x.lastIndexOf(' - ') + 3)
var y = x.slice(x.lastIndexOf(" - "), x.length - 1);
无论该值是多少或有多长,这都会将值作为字符串返回,并且与数组无关。
var y = x.slice(x.lastIndexOf("-")+2);
通常,我们没有空间,所以我们写+1
,但在你的情况下+2
工作正常。