-3

例如,有一个字符串"Apple is red; Banana is yellow; Orange is orange;dummytest"

我想找到最后一个“;” 并摆脱该角色之后的所有内容。就像:

"Apple is red; Banana is yellow; Orange is orange"

我知道一些普通的方法,但最简单的方法是什么?

4

1 回答 1

5

我能想到的最简单的方法是使用substringlastIndexOf这样的组合:

var s = "Apple is red; Banana is yellow; Orange is orange;dummytest";
s = s.substring(0, s.lastIndexOf(";"));
//s = "Apple is red; Banana is yellow; Orange is orange"

这是一个工作示例


通常,人们可能倾向于首先验证输入字符串。你可以这样做:

var isValid = s.lastIndexOf(";") > -1;

substring但是,如果您使用with作为长度参数,javascript 不会抛出错误-1(例如,与 C# 不同),您最终会得到一个空字符串结果,这可能是人们想要的结果。


indexOf此外,为了完整起见,您可以使用该函数在字符第一次出现时剪切字符串,如下所示:

s = s.substring(0, s.indexOf(";"));
//s = "Apple is red"
于 2013-07-19T13:13:57.867 回答