我需要除了 [^0-9\n] 以外的东西,我想要一个正则表达式(但不知道如何制作),可以捕获这样一种数字模式中的任何内容,“0000000000”或“000-000-0000”或基本上任何存在于空格和/或特殊字符的数字之前或之间的数字。
因此,任何数字,甚至像这些(626*)34a2-4387)应该转换为6263424387
如何完成?我认为这太难了吗?
我需要除了 [^0-9\n] 以外的东西,我想要一个正则表达式(但不知道如何制作),可以捕获这样一种数字模式中的任何内容,“0000000000”或“000-000-0000”或基本上任何存在于空格和/或特殊字符的数字之前或之间的数字。
因此,任何数字,甚至像这些(626*)34a2-4387)应该转换为6263424387
如何完成?我认为这太难了吗?
我总是忘记这个问题,然后在互联网上寻找答案。这里是答案,供我以后参考,也供其他人使用。
const rawNumber = '(555) 123-4567';
const strippedNumber = rawNumber.replace(/\D+/g, '');
当然,我上面的例子是针对JavaScript的,但它可以轻松地适应其他语言。原始帖子没有指定语言。
这是更好的方法。它也包括十进制数。
"$9.0".replace(/[^0-9.]+/g, '');
JavaScript :)
[^0-9\n]
有什么问题吗?除了它包括一个换行符\n
(我假设您想保留它)之外? - David Faber