我有一個字符串「2500 - SomeValue」。如何在'SomeValue'中的'S'之前刪除所有內容?JavaScript子字符串幫助
var x = "2500 - SomeValue";
var y = x.substring(x.lastIndexOf(" - "),
// this is where I'm stuck, I need the rest of the string starting from here.
感謝您的任何幫助。
〜CK
我有一個字符串「2500 - SomeValue」。如何在'SomeValue'中的'S'之前刪除所有內容?JavaScript子字符串幫助
var x = "2500 - SomeValue";
var y = x.substring(x.lastIndexOf(" - "),
// this is where I'm stuck, I need the rest of the string starting from here.
感謝您的任何幫助。
〜CK
將3(「 - 」的長度)加到最後一個索引處,並放棄第二個參數。將一個參數傳遞給子字符串時的默認值是字符串末尾
var y = x.substring(x.lastIndexOf(" - ") + 3);
x.substring(x.lastIndexOf(" - "),x.length-1); //corrected
這只是:
var y = x.substring(x.lastIndexOf(" - ") + 3);
當你忽略第二個參數,它只是給你的一切到字符串的結尾。
編輯:既然你想從以後的所有東西「 - 」我已經添加3到起點以跳過這些字符。
在這個問題中,他要求從「S」開始的所有內容切出「 - 」部分。當然,該代碼與您擁有的一致。 – 2009-08-20 23:11:45
好點。據此編輯。 – VoteyDisciple 2009-08-20 23:39:01
嘗試
var y = x.split(" ",2);
那麼你就必須的子字符串數組。第三個y [2]將是你需要的。
var y = x.substring(0, x.lastIndexOf(' - ') + 3)
var y = x.slice(x.lastIndexOf(「 - 」),x.length - 1);
這將返回值爲一個字符串,無論該值是多少或多長,它與數組無關。
不允許-1等於x.length-1? – Jimmy 2009-08-20 22:59:31
slice需要一個終端值。如果字符串的長度是可變的,那麼這就是你如何找到它的長度來進行靜態測量。值-1不起作用,因爲作爲索引,值-1返回undefined。在這種情況下,這可能會引發錯誤。 – 2009-08-20 23:22:31
這實際上會導致運行時錯誤,因爲x.length超過了字符串的末尾。我認爲你的意思是'x.length - 1'。 – Joel 2009-08-20 23:02:03
正確 - 嘗試了一個快速的回答,但失敗了 – Andreas 2009-08-21 10:27:25