删除最后一个特殊字符javascript后的所有字符

时间:2017-02-07 16:21:28

标签: javascript

我有以下字符串。

var string  = "Welcome, to, this, site";

我想在最后一个逗号后删除所有字符,以便字符串变为

var string  = "Welcome, to, this";

如何在Javascript中使用它?我试过了,

var string = "Welcome, to, this, site";
string = s.substring(0, string.indexOf(','));

但这会删除第一个逗号后的所有字符。

4 个答案:

答案 0 :(得分:1)

你需要的是lastIndexOf:

string = s.substring(0, string.lastIndexOf('?'));

答案 1 :(得分:1)

您可以使用拆分和拼接来实现如下结果。

var string  = "Welcome, to, this, site";
string = string.split(',')
string.splice(-1) //Take out the last element of array
var output = string.join(',')
console.log(output) //"welcome, to, this"

答案 2 :(得分:0)

有一种String.prototype.lastIndexOf(substring)方法,你可以用它代替String.prototype.indexOf(substring)

var delimiter = ",";
if (inputString.includes(delimiter)) {
    result = inputString.substring(0, inputString.lastIndexOf(delimiter));
} else {
    result = inputString;
}

替代方案包括Madara Uchiha的建议:

var delimiter = ",";
var parts = inputString.split(delimiter);
if(parts.length > 0) { parts.pop(); }
result = parts.join(delimiter);

或使用正则表达式:

result = inputString.replace(/,[^,]*$/, "");

答案 3 :(得分:0)

试试这个

var string  = "Welcome, to, this, site";
var ss = string.split(",");
var newstr = "";
for(var i=0;i<ss.length-1;i++){
  if (i == ss.length-2)
      newstr += ss[i];
  else
      newstr += ss[i]+", ";
}
alert(newstr);