2011-08-31 131 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

相关问题