我有一个字符串值。我包含字母表,特殊字符和数字和空格的组合。但我想只检索数字。
my code
-------
Dim str1 As String = "!@!@#!$@#$#123456habAB^*^&(*)(_)()*("
Dim str2 As String = Regex.Replace(str1, "[\[\]\\\^\$\.\|\?\*\+\(\)\{\}%,;><!@#&\-\+/d]", "")
MsgBox(str2)
output am getting
-----------------
123456habAB_
expected output
---------------
123456
答案 0 :(得分:2)
试试这段简短的代码:
Dim str1 As String = "!@!@#!$@#$#123456habAB^*^&(*)(_)()*("
Dim str2 As String = Regex.Replace(str1, "[^\d]", "")
MsgBox(str2)
您的解决方案的问题是您没有用空字符串替换“_”或字母。更容易替换字符串中的所有非数字,而不是明确替换所有字符。