我有两个字符串,例如:
sometext~somemoretext~extratext
和
sometext~otherextratext
我希望裁掉最后一个波浪号(〜)和右边的所有文字。例如,以上两个字符串将导致:
sometext~somemoretext
和
sometext
由于
答案 0 :(得分:9)
lastIndexOf(char)
返回字符串中指定值最后一次出现的位置
substring(from, to)
从两个指定索引之间的字符串中提取字符,并返回新的子字符串
例如:
var txt = 'sometext~somemoretext~extratext';
txt = txt.substring(0, txt.lastIndexOf('~'));
<强> DEMO 强>
我强烈建议您阅读Javascript String Object
上的文档答案 1 :(得分:4)
return theString.replace(/~[^~]*$/, '');
答案 2 :(得分:3)
您可以使用带有.replace()
DOCs方法的正则表达式执行此操作。
var str = 'sometext~somemoretext~extratext';
str = str.replace(/~[\w\s]+$/, '');
以上是您运行上述代码的jsFiddle:http://jsfiddle.net/NELFB/
答案 3 :(得分:1)
您可以使用substr分割字符串,然后根据需要重建它们
var someString = "sometext~otherextratext";
someString = someString.split('~');
这会给你一个数组,你可以使用像someString [0];
如果你需要进一步删除字符串末尾的那些,请使用.replace('〜','')
答案 4 :(得分:1)
这应该做到
function removeExtra(input){
return input.substr(0,input.lastIndexOf('~'))
}