2011-08-01 36 views
1

我需要代码来过滤在文本框中输入的数据。虽然它在运行时接受所有字符,但代码应该除去数字(这将是我的输出)除去所有字符串和字母数字字符。我试着下面的代码,但想也不会做的事:接受所有字符但仅返回数字的文本框

a = Textbox1.text 
Dim value As Decimal = CDec(Regex.Replace(a, "[\D]", "")) 

回答

1

您正则表达式是正确的(只是有点多余,\D会做)。最好是\D+,这样连续的非小数点一次被替换。

ResultString = Regex.Replace(SubjectString, "\D+", "") 
+0

感谢您的答复:)那是快。我试过了,但它仍然没有锻炼。有任何想法吗?或者我应该尝试一种不同的方法? – Suraj

+0

也许你可能会更具体些。 “它不起作用”没有帮助。当'SubjectString'被设置为'123abc456 =?789'''时,你会得到什么'ResultString'? –

+0

抱歉,我的坏:)好吧,输出与输入相同,如果我输入“123abc”我想结果是“123”,但它仍然是“123abc”。我试着改变Inputbox,但它仍然是一样的。 – Suraj

0

试试这个,使用匹配对象

Dim a As String 
Try 
    a = Regex.Match(Textbox1.text, "\d+").Value  
Catch ex As ArgumentException 
    'Syntax error in the regular expression 
End Try 
相关问题