可能是一个简单的正则表达式问题。
如何从电话号码中删除除前导 + 之外的所有非数字?
i.e.
012-3456 => 0123456
+1 (234) 56789 => +123456789
/(?<!^)\+|[^\d+]+//g
将删除所有非数字并留下前导+
独自的。请注意,前导空格将导致“离开+
在 .NET 语言中,这可以在正则表达式中使用,在其他语言中,您应该先去除空格,然后再将字符串传递给此正则表达式。
解释:
(?<!^)\+
: 匹配一个+
除非它位于字符串的开头。 (在 .NET 中,使用(?<!^\s*)\+
以允许前导空格)。
|
or
[^\d+]+
:匹配任何既不是数字也不是的字符+
.
之前(使用(?<!^\s*)\+|[^\d+]+
):
+49 (123) 234 5678
+1 (555) 234-5678
+7 (23) 45/6789+10
(0123) 345/5678, ext. 666
After:
+491232345678
+15552345678
+72345678910
01233455678666
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)