拆分并返回字符串的一部分

时间:2012-01-23 14:45:10

标签: javascript

我有两个字符串,例如:

sometext~somemoretext~extratext

sometext~otherextratext

我希望裁掉最后一个波浪号(〜)和右边的所有文字。例如,以上两个字符串将导致:

sometext~somemoretext

sometext

由于

5 个答案:

答案 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('~'))
}