2011-08-31 109 views

回答

6

正如我所評論的那樣只是使用lastIndexOf(),但這裏是一個正則表達式解決方案:

正則表達式/ [^ ]*$/找到字符串中的最後一個空格字符。像這樣使用它:

// Alerts 9 
alert("this is a str".search(/ [^ ]*$/)); 
+0

+1感謝那個跨瀏覽器的解決方案 – Thariama

+0

它**在IE中工作。你可能會討論Array.lastIndexOf,它在任何地方都不支持。 – ThiefMaster

+0

關於正則表達式解決方案的最好的事情是,可以很容易地擴展到查找任何空白字符的最後一個索引,這在我之前需要進行文本處理,例如,防止分詞中間詞:'mystr.search(/ \ s \ S * $ /)'。實際上,這可以進行簡單的擴展以找到匹配任何字符類或類組合的字符串中的最後一個字符。 –

7

正確的解決方案根本不使用正則表達式,但內置的lastIndexOf方法字符串具有。正則表達式是爲了匹配字符串,而不是給你索引(即使分組匹配可能作爲索引+長度而不是字符串返回 - 基於C的正則表達式庫通常會這樣做以避免不必要的複製)

+0

謝謝,這解決了我的問題。我一直在精神上修復尋找一個正則表達式,而不是尋找其他的解決方案,*德哦*。 – Thariama