如何替换字符串中的-84
:my-name-is-dude-84
''正则表达式?
我的意思是最后一个' - ' +号
我试过了:
string = 'my-name-is-dude-84';
let regex = /[^\-*][1-9]/;
let specialChar = string.replace(regex, '');
然后我收到的是我的名字是dude- 我希望我的字符串是:my-name-is-dude
答案 0 :(得分:3)
你关闭了,但这是你需要做的(我猜)
string = 'my-name-is-dude-84';
let regex = /-\d+$/;
let specialChar = string.replace(regex, '');
document.write(specialChar);

您的[^\-*]
尝试匹配所有字符但 \
,-
和*
。此外[1-9]
仅匹配一位数(1到9之间)。使用\d
(所有数字),添加+
以使其匹配一个或多个。此外,在其中添加字符串锚$
的结尾使其仅匹配字符串末尾的连字符+数字。
答案 1 :(得分:3)
您可以使用此正则表达式(.*?)-\d+$
JavaScript演示
string = 'my-name-is-99-dude-84';
let regex = /(.*?)-\d+$/;
let specialChar = string.replace(regex, "$1");
document.write(specialChar);