0

我正在使用以下代码取出 字母字符数字问号感叹号点、括号逗号连字符以外的任何内容:

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

我想出了这个:hellotoyousMy#is4425235584

它应该是这样的:你好!我的号码是 (442) 523-5584.?,

4

3 回答 3

1

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

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

只需将所有字符添加到您的否定字符类(注意空格字符!):

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

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

于 2012-10-24T13:40:08.770 回答
1
Regex.Replace("your text", "[^A-Za-z0-9 ?!.(),-]+", "")

它 [^A-Za-z0-9 ?!.(),-]+ 将一个接一个地抓取所有不需要的字符并将它们替换为 ""

于 2012-10-24T13:40:18.287 回答