1

我有一个字符串值。我包含字母、特殊字符和数字以及空白的组合。但我只想检索数字。

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

    MsgBox(str2)


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

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

1 回答 1

2

试试这个代码,简短而简单:

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

MsgBox(str2)

您的解决方案的问题是您没有用空字符串替换“_”或字母。从字符串中替换所有非数字比显式替换所有字符更容易。

于 2012-09-13T09:42:13.300 回答