我有以下字符串。
var string = "Welcome, to, this, site";
我想在最后一个逗号后删除所有字符,以便字符串变为
var string = "Welcome, to, this";
如何在Javascript中使用它?我试过了,
var string = "Welcome, to, this, site";
string = s.substring(0, string.indexOf(','));
但这会删除第一个逗号后的所有字符。
答案 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);