正则表达式删除最后一个数字后的字符串?

时间:2015-03-16 15:34:44

标签: javascript regex

那里有很多正则表达式,但我无法找到解决我特定问题的方法。

考虑这些字符串:

my street 13a
mystreet 3 B
my street karlos 15A

我该如何归还:

my street 13
mystreet 3
my street karlos 15

\d+[a-z,A-Z]符合案例" 13A,13a"并且\d+ [a-z,A-Z]将其与空格匹配。在此之后我会用这个:

myCutStr = myOriginalString.match(/\d+[a-z,A-Z]/g);
myNewStr = myCutStr.replace(/[^\d]/g, '');
myOriginalString.replace(myCutStr, myNewStr);

但我可以以某种方式合并\d+[a-z,A-Z]并忽略该regEx中的空格吗?那么这个\d+[a-z,A-Z]即使有空格也能匹配我的所有类型?

1 个答案:

答案 0 :(得分:2)

单个替换就足够了。也就是说,用空字符串替换最后出现的所有非数字字符。

string.replace(/\D+$/g, '');

OR

string.replace(/(\d)\D+$/g, '$1');

DEMO