从VB.net字符串地带的所有标点符号(Strip all punctuation from a s

2019-08-03 04:42发布

如何剥去在vb.net字符串中的所有标点符号? 我真的不想做stringname.Replace("$", "")对标点符号的每一个位,但它会工作。

如何快速,高效地做到这一点?

除了编码的东西,对我来说这个代码....

Answer 1:

您可以使用正则表达式匹配要删除任何东西:

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

[^...]是不是在集中的任何字符相匹配的负组。 你可以把任何字符那里,你想保留。



Answer 2:

使用正正则表达式匹配简单的例子。 只要把你想它删除的文字:

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


Answer 3:

如果你想有一个非正则表达式的解决方案,你可以尝试这样的事:

Dim stringname As String = "^^^%%This,,,... is $$my** original(((( stri____ng."

Dim sb As New StringBuilder
Dim c As Char

For Each c In stringname
    If Not (Char.IsSymbol(c) OrElse Char.IsPunctuation(c)) Then
        sb.Append(c)
    End If
Next

Console.WriteLine(sb.ToString)

输出是“ This is my original string ”。



文章来源: Strip all punctuation from a string in VB.net