3

我有一个字符串“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

4

7 回答 7

9

将 3(“ - ”的长度)添加到最后一个索引并省略第二个参数。将一个参数传递给子字符串时的默认设置是转到字符串的末尾

var y = x.substring(x.lastIndexOf(" - ") + 3);
于 2009-08-20T23:03:54.243 回答
3

那只是:

var y = x.substring(x.lastIndexOf(" - ") + 3);

当您省略第二个参数时,它只会为您提供字符串末尾的所有内容。

编辑:由于您想要“ - ”之后的所有内容,因此我在起点添加了 3 以跳过这些字符。

于 2009-08-20T22:52:28.897 回答
0
x.substring(x.lastIndexOf(" - "),x.length-1); //corrected
于 2009-08-20T22:51:55.890 回答
0

尝试

var y = x.split(" ",2);

那么你将有一个子字符串数组。第三个 y[2] 将是您所需要的。

于 2009-08-20T22:52:58.290 回答
0
var y = x.substring(0, x.lastIndexOf(' - ') + 3)
于 2009-08-20T22:53:57.350 回答
0

var y = x.slice(x.lastIndexOf(" - "), x.length - 1);

无论该值是多少或有多长,这都会将值作为字符串返回,并且与数组无关。

于 2009-08-20T22:57:24.910 回答
0
var y = x.slice(x.lastIndexOf("-")+2);

通常,我们没有空间,所以我们写+1,但在你的情况下+2工作正常。

于 2020-06-10T18:23:39.530 回答