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

Regex to remove string after last number?

本文关键字:字符串 之后 数字 删除 最后一个 正则表达式      更新时间:2023-09-26
那里有很多

正则表达式,但我找不到解决我特定问题的方法。

请考虑以下字符串:

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]并忽略该正则表达式中的空格吗?这样这个'd+[a-z,A-Z]即使有空格也能匹配我的所有同类?

一次替换就足够了。也就是说,将最后一个存在的所有非数字字符替换为空字符串。

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

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

演示