フォーマットが不十分なデータがいくつか与えられたため、文字列から数値を引き出す必要があります。これを行うための最良の方法がわかりません。数字は任意の長さにすることができます。
string a = "557222]]>";
string b = "5100870<br>";
私が何ができるのか、私はこれを手に入れます:
a = "557222"
b = "5100870"
ありがとう
解決策はC#用です申し訳ありません。そのタグを持つように質問を編集しました
数字以外のすべての文字を抽出する簡単な方法を作成できますが、これは浮動小数点データを処理しません。
public string ExtractNumber(string original)
{
return new string(original.Where(c => Char.IsDigit(c)).ToArray());
}
これは純粋に「数字」を引き出します。希望する結果に応じて、Char.IsDigitの代わりにChar.IsNumberを使用することもできます。
このワンライナーを試してください:
Regex.Replace(str, "[^0-9 _]", "");
正確なコードについては、.NET に精通していません。それにもかかわらず、2つのアプローチは次のとおりです。
21389abc
)、これが最も簡単です。1231a23v
の数字を保持したい場合は、正規表現を使用して数字以外の文字を置き換えます。[^\d]
単純な正規表現を使用できます。
var numericPart = Regex.Match( a, "\\d+" ).Value;
実際の数値にする必要がある場合は、int.Parse
またはを使用できますint.TryParse
。
これを試して
string number = Regex.Match("12345<br>", @"\d+").Value;
これにより、最初の数字のグループが返されます。例:入力の"a 123 b 456 c"
場合、。を返し"123"
ます。