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

Javascript 拆分并返回字符串的一部分,javascript,Javascript,我有两个字符串,例如: sometext~somemoretext~extratext 及 我希望剪掉最后一个波浪(~)和右边的所有文本。例如,上述两个字符串将导致: sometext~somemoretext 及 谢谢 lastIndexOf(char)返回字符串中指定值最后一次出现的位置 substring(from,to)从两个指定索引之间的字符串中提取字符,并返回新的子字符串 例如: var txt = 'sometext~somemoretext~extratext'; txt

我有两个字符串,例如:

sometext~somemoretext~extratext

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

sometext~somemoretext

谢谢

  • lastIndexOf(char)
    返回字符串中指定值最后一次出现的位置

  • substring(from,to)
    从两个指定索引之间的字符串中提取字符,并返回新的子字符串

例如:

var txt = 'sometext~somemoretext~extratext';
txt = txt.substring(0, txt.lastIndexOf('~'));


我强烈建议您阅读

上的文档。您可以使用正则表达式和方法来完成此操作


下面是供您运行的上述代码的一部分:

您可以使用substr拆分字符串,然后根据需要重新生成它们

var someString = "sometext~otherextratext";
someString = someString.split('~');
这将为您提供一个数组,您可以像someString[0]一样使用它

如果需要进一步删除字符串末尾的字符,请使用.replace(“~”,“”),这样就可以了

function removeExtra(input){
    return input.substr(0,input.lastIndexOf('~'))
}

你试过什么吗?这似乎很简单。在问这个问题之前,我已经尝试过使用split()。对于这样一个简单的任务,正则表达式似乎有点过火了。谢谢,我不知道lastIndexOf。此后,我一直在阅读Javascript字符串对象。
return theString.replace(/~[^~]*$/, '');
var str = 'sometext~somemoretext~extratext';
str = str.replace(/~[\w\s]+$/, '');
var someString = "sometext~otherextratext";
someString = someString.split('~');
function removeExtra(input){
    return input.substr(0,input.lastIndexOf('~'))
}