在 Javascript 中使用 reg ex 从字符串中去除数字(包括负数)
我使用以下正则表达式从字符串中删除数字,但它也从负数中删除了 (-)。有谁知道有一个正则表达式可以留下数字和(-)。谢谢。
var string = "jdhjhjcdhj-200";
alert(string.replace(/[^\d]/g,""));
I'm using the following reg ex to strip numbers from a string however it also removes the (-) from negative numbers. Does anyone know of a reg ex thats leaves the numbers as well as (-). Thanks.
var string = "jdhjhjcdhj-200";
alert(string.replace(/[^\d]/g,""));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
只需在正则表达式中添加
-
即可:它会为您提供
-200
Simply add
-
in your regex:It gives you
-200
将破折号包含在排除符号列表中:
Include the dash in the list of excluded symbols:
match 方法返回匹配模式的数组:
The match method returns an array of matched patterns:
正则表达式为
(?!-?\d).
请注意,这将剥离
abc-def-123
并将其设为-123
在此测试: http://gskinner.com/RegExr/?2uvds
它使用负前瞻来“忽略”减号后面跟着一个数字和数字。
如果您想删除多行文本,您可能应该使用
[\s\S]
而不是.
(请阅读此处 http://www.regular-expressions.info/dot.html)The regex is
(?!-?\d).
Note that this will strip
abc-def-123
and make it-123
Test here: http://gskinner.com/RegExr/?2uvds
It uses negative lookahead to "ignore" minus followed by a digit and digits.
If you want to strip multiline text, you should probably use
[\s\S]
instead of.
(read here http://www.regular-expressions.info/dot.html)