从VB.net中的字符串中删除所有标点符号

Cyc*_*one 2 vb.net punctuation

如何从vb.net中的字符串中删除所有标点符号?我真的不想stringname.Replace("$", "")为每一点标点符号做,虽然它会起作用.

我如何快速有效地完成这项工作?

除了编码为我编码的东西....

Guf*_*ffa 7

您可以使用正则表达式来匹配要删除的任何内容:

str = Regex.Replace(str, "[^A-Za-z]+", String.Empty);
Run Code Online (Sandbox Code Playgroud)

[^...]是一个负集,匹配任何不在集合中的字符.你可以把任何你想要保留的角色放在那里.

  • 个人而言,我会使用积极的匹配,而不是消极的匹配. (4认同)
  • @Cyclone:导入不是级联的.如果导入的System命名空间不导入整个框架中的所有内容... (2认同)

Fly*_*wat 5

使用正则表达式匹配的快速示例。只需将要删除的字符放入其中:

          Imports System.Text.RegularExpressions
          Dim foo As String = "The, Quick brown fox. Jumped over the Lazy Dog!" 
          Console.WriteLine(Regex.Replace(foo,"[!,.\"'?]+", String.Empty))
Run Code Online (Sandbox Code Playgroud)

  • 我个人会使用否定匹配,而不是肯定匹配。:) (5认同)