2011-08-01 7 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"と入力しても結果は "123abc"となりますが、出力は入力と同じです。 "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 
関連する問題