替换非字母字符&带有其他特殊字符的数字

时间:2012-10-24 13:36:48

标签: regex vb.net replace

我使用以下代码删除 字母字符数字问号以外的任何内容,感叹号期间括号逗号&的连字符

MsgBox(System.Text.RegularExpressions.Regex.Replace("hello to you's! My # is (442) 523-5584. @$%^*<>{}[]\|/?,+-=:;`~", "[^A-Za-z0-9]", ""))

我想出了这个: hellotoyousMy#is4425235584

它应该是这样读的:你好!我的#是(442)523-5584。?,

3 个答案:

答案 0 :(得分:1)

在正则表达式中添加空格和其他符号:

MsgBox(System.Text.RegularExpressions.Regex.Replace("hello to you's! My # is (442) 523-5584. @$%^*<>{}[]\|/?,+-=:;`~", "[^A-Za-z0-9 \(\)\!\.,\-\?]", ""))

答案 1 :(得分:1)

只需将所有字符添加到否定字符类中(记下空格字符!):

MsgBox(System.Text.RegularExpressions.Regex.Replace("hello to you's! My # is (442) 523-5584. @$%^*<>{}[]\|/?,+-=:;`~", "[^A-Za-z0-9 ?!.(),#-]+", ""))

(我还在你的正则表达式中添加了一个重复的+,因此它可以一次性替换连续的不允许的字符)

答案 2 :(得分:1)

Regex.Replace("your text", "[^A-Za-z0-9 ?!.(),-]+", "")

它[^ A-Za-z0-9?!。(), - ] +会一个接一个地抓住所有不需要的字符并用“”替换它们