从字符串中分割特殊字符和字母

时间:2012-09-13 09:02:03

标签: .net regex vb.net

我有一个字符串值。我包含字母表,特殊字符和数字和空格的组合。但我想只检索数字。

my code
-------
Dim str1 As String = "!@!@#!$@#$#123456habAB^*^&(*)(_)()*("
    Dim str2 As String = Regex.Replace(str1, "[\[\]\\\^\$\.\|\?\*\+\(\)\{\}%,;><!@#&\-\+/d]", "")

    MsgBox(str2)


output am getting
-----------------
123456habAB_

expected output
---------------
123456

1 个答案:

答案 0 :(得分:2)

试试这段简短的代码:

Dim str1 As String = "!@!@#!$@#$#123456habAB^*^&(*)(_)()*("
Dim str2 As String = Regex.Replace(str1, "[^\d]", "")

MsgBox(str2)

您的解决方案的问题是您没有用空字符串替换“_”或字母。更容易替换字符串中的所有非数字,而不是明确替换所有字符。