Javascript 如果子字符串位于字符串中,请从字符串的末尾将其删除

Javascript 如果子字符串位于字符串中,请从字符串的末尾将其删除,javascript,replace,Javascript,Replace,我正试图找出如何使用javascript执行以下操作: 如果字符串中有子字符串,请从子字符串的开头一直删除到字符串的结尾 例如(伪代码): 如果希望“testingFooMiscText”最终成为“testing”,请使用 如果希望“testingFooMiscText”最终成为“FooMiscText”,请使用 您可能需要在indexOf()之后加上+/-1来调整字符串的开始/结束这应该可以做到 var myString = 'testingFooMiscText' myString.subs

我正试图找出如何使用javascript执行以下操作:
如果字符串中有子字符串,请从子字符串的开头一直删除到字符串的结尾

例如(伪代码):

如果希望“testingFooMiscText”最终成为“testing”,请使用

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


您可能需要在indexOf()之后加上+/-1来调整字符串的开始/结束

这应该可以做到

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

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

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

我使用下面的代码从文件名中删除了fakefile,它成功了

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);
    } 
}

因此,编辑后的“testingFooMiscText”应该以“testing”或“FooMiscText”结尾吗?@dmr为了澄清,您希望从
myString
中选择
“testing”
,对吗?因此,如果字符串中有“Foo”,您希望截断从Foo开始的字符串?这就是你要问的吗?@Charmander是对的。我想以
“测试”
一个超级棒的indexOf:Use~as invert:if(~index)str=str.substr(index)-awesome read:-查看前面的幻灯片了解更多上下文。但是,mySub可能不在myString中…因此子字符串函数将无法工作。请将其放入if语句中。下面是一个关于检查一个字符串是否包含另一个字符串的问题。如果未找到子字符串,则不会返回原始字符串。我相信这就是OP想要的。很公平,@FishBasketGordo.+1只截断原始中的子字符串,否则返回原始。
word = word.substring(word.indexOf("Foo"));
var myString = 'testingFooMiscText'
myString.substring(myString.indexOf('Foo'))  //FooMiscText
myString.substring(myString.indexOf('Bar'))  //testingFooMiscText
myString.substring(0, myString.indexOf(mySub))
var index = str.indexOf(str1);
if(index != -1)
    str = str.substr(index) 
function replaceIfSubstring(original, substr) {
    var idx = original.indexOf(substr);
    if (idx != -1) {
        return original.substr(idx);
    } else {
        return original;
    }
}
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);
    } 
}