如果字符串中的子字符串,则从字符串的末尾删除它

时间:2011-08-11 20:41:31

标签: javascript replace

我正试图弄清楚如何使用javascript执行以下操作:
如果子字符串在字符串中,则从子字符串的开头删除直到字符串中字符串的结尾。

例如(伪代码):

var mySub = 'Foo'
var myString = 'testingFooMiscText'
var myString2 = 'testingMisctext'

var myStringEdit = //myString - (Foo till end myString)
var myString2Edit = myString2 //(cause no Foo in it)

7 个答案:

答案 0 :(得分:7)

var index = str.indexOf(str1);
if(index != -1)
    str = str.substr(index) 

答案 1 :(得分:6)

如果我理解你的要求,你会想要这样做:

function replaceIfSubstring(original, substr) {
    var idx = original.indexOf(substr);
    if (idx != -1) {
        return original.substr(idx);
    } else {
        return original;
    }
}

答案 2 :(得分:2)

如果您希望“testingFooMiscText”最终成为“测试”,请使用

word = word.substring(0, word.indexOf("Foo"));

如果您希望“testingFooMiscText”最终为“FooMiscText”,请使用

word = word.substring(word.indexOf("Foo"));

在indexOf()之后你可能需要+/- 1来调整字符串的开头/结尾

答案 3 :(得分:2)

myString.substring(0, myString.indexOf(mySub))

答案 4 :(得分:0)

var newString = mystring.substring(mystring.indexOf(mySub));

答案 5 :(得分:0)

这应该可以解决问题。

var myString = 'testingFooMiscText'
myString.substring(myString.indexOf('Foo'))  //FooMiscText
myString.substring(myString.indexOf('Bar'))  //testingFooMiscText

答案 6 :(得分:-2)

我使用以下代码来消除文件名中的伪文件并且它有效。

function confsel()
{
    val = document.frm1.fileA.value;
    value of val comes like C:\fakepath\fileName
    var n = val.includes("fakepath");
    if(n)
    {
        val=val.substring(12);
    } 
}