关于正则去掉字符串后面的数字

比如
6月7号666
怎么去掉666

又比如
1号房间777
怎么去掉777

有没有js正则。。。想了很久没想到
找了很多方法都是匹配数字的,没找到匹配字符串尾部数字的

阅读 12.6k
4 个回答

/\w\d+$/

var reg = /\w\d+$/;
var str = '1号房间777';
console.log(str.match(reg)); //获取匹配字符串
console.log(str.replace(reg,'')); //替换匹配字符串
var string= '1号3333房间777';
var matchStr= string.match(/[\u4e00-\u9fa5]\d+$/)[0];
return string.substr(0, string.indexOf(matchStr)+1)

抓住关键就可以了。末尾=>$,数字=>d。
拆分关键字照着正则表查元字符,拼一个正则。虽然这样可能得出的不是最优解,但是不失为一种解决问题的方法。

'6月7号666'.replace(/\d+$/,''); //"6月7号"
'1号房间777'.replace(/\d+$/,''); //"1号房间"
'6月7号999r'.replace(/\d+$/,''); //"6月7号999r"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏