2009-08-27 24 views
0

%,/,などを含む文字列から数字を分離しようとしています(例えば、%2459348?:、または:2434545/%)。 VB.netでどうすれば分けることができますか?多くの句読点を含む長い文字列から数字を抽出する正規表現

+0

どのようにピリオド/小数点記号を処理しますか? –

+1

私は同様の質問をしたので私はあなたの質問に投票し、私もダウン投票しました。私は正規表現について全く知らなかったし、marc.dの答えは非常に役に立ちました。 –

答えて

6

数字だけが欲しいですか?

あなたはこの

Dim theString As String = "/79465*44498%464" 
    Dim ret = Regex.Replace(theString, "[^0-9]", String.Empty) 

HTH

編集のようにそれを行うことができます:

かは、すべての非数値文字で分割したいですか? それはあなたは、文字列の各文字をループこの

Dim ret = Regex.Split(theString, "[^0-9]") 
+2

ありがとうございます+1投票 – Rajasekar

+0

あなたの答えをありがとう。それは私の助けにもなりました。 :-) –

0

のような可能性が行くと、それに.IsNumber()をチェックします。

0

これが何をすべき:

Dim test As String = "%2459348?:" 
Dim match As Match = Regex.Match(test, "\d+") 

If match.Success Then 
    Dim result As String = match.Value 
    ' Do something with result 
End If 

結果= 2459348

+0

これは、テキスト内に数字の文字列がある場合にのみ一致することに注意してください。それらの間に他の文字を含む数字が多い場合、marc.dの答えは非常に良い(彼のサンプルデータはそのシナリオを反映している)。 –

0

ここで文字列から数字をすべて抽出する関数です。

Public Function GetNumbers(ByVal str as String) As String 
    Dim builder As New StringBuilder() 
    For Each c in str 
    If Char.IsNumber(c) Then 
     builder.Append(c) 
    End If 
    Next 
    return builder.ToString() 
End Function 
関連する問題