我试图从电话号码中删除所有非数字字符。

因此,假设我们有以下格式的数字:“(123)456-7890”。

Regex.Replace(phone, @"[ -()]", string.Empty)

留下短划线。与()相同的是转义(“\(\)”)。

这个
Regex.Replace(phone, @"[() -]", string.Empty)

虽然有效。

我以为[]中的字符顺序不起作用?实际上,如果切换空格和短划线,我会得到相同的结果。但是括号必须首先起作用吗?

最佳答案

-可用于声明范围,例如[a-z]。您需要对其进行转义:[ \-()]

例外是,如果将破折号放在字符组的末尾,则其唯一含义可以是文字-

关于regex - 正则表达式:订单重要吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11348433/

10-16 03:07