如何剥去在vb.net字符串中的所有标点符号? 我真的不想做stringname.Replace("$", "")
对标点符号的每一个位,但它会工作。
如何快速,高效地做到这一点?
除了编码的东西,对我来说这个代码....
如何剥去在vb.net字符串中的所有标点符号? 我真的不想做stringname.Replace("$", "")
对标点符号的每一个位,但它会工作。
如何快速,高效地做到这一点?
除了编码的东西,对我来说这个代码....
您可以使用正则表达式匹配要删除任何东西:
str = Regex.Replace(str, "[^A-Za-z]+", String.Empty);
[^...]
是不是在集中的任何字符相匹配的负组。 你可以把任何字符那里,你想保留。
使用正正则表达式匹配简单的例子。 只要把你想它删除的文字:
Imports System.Text.RegularExpressions
Dim foo As String = "The, Quick brown fox. Jumped over the Lazy Dog!"
Console.WriteLine(Regex.Replace(foo,"[!,.\"'?]+", String.Empty))
如果你想有一个非正则表达式的解决方案,你可以尝试这样的事:
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
”。