2011-08-11 71 views
4

我想弄清楚如何用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) 
+0

那麼編輯後的「testingFooMiscText」最終應該是「testing」還是「FooMiscText」? – yoozer8

+0

@dmr爲了澄清,您希望'myString'中的''testing'',對嗎? – Charmander

+0

那麼,如果'Foo'在字符串中,你想截斷從Foo開始的字符串?你在問什麼? – FishBasketGordo

回答

6
var index = str.indexOf(str1); 
if(index != -1) 
    str = str.substr(index) 
0
var newString = mystring.substring(mystring.indexOf(mySub)); 
2

如果你想 「testingFooMiscText」 結束爲 「測試」,使用

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

如果你想 「testingFooMiscText」 結束作爲「FooMiscText」使用,使用

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

在indexOf()後您可能需要+/- 1來調整字符串的開始/結尾

+0

非常感謝! – RationalRabbit

0

這應該有所斬獲。

var myString = 'testingFooMiscText' 
myString.substring(myString.indexOf('Foo')) //FooMiscText 
myString.substring(myString.indexOf('Bar')) //testingFooMiscText 
2
myString.substring(0, myString.indexOf(mySub)) 
+3

但是,mySub可能不在myString中,因此子字符串函數將不起作用。 – dmr

+0

把它放在if語句中。這是一個關於檢查字符串是否包含另一個字符串的問題。 [link](http://stackoverflow.com/questions/1789945/javascript-string-contains) – Charmander

+1

如果未找到子字符串,則不會返回原始字符串。我相信這就是OP想要的。 – FishBasketGordo

4

如果我理解你的要求,你要做到這一點:

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

+1僅在原始字符串中截斷,否則返回原始字符串。 – Charmander

-2

我用下面的代碼從文件名稱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); 
    } 
} 
相關問題