リモート サービスから受け取った文字列から 10 進数を取得したいと考えています。
私の問題は、「+」または「-」のいずれかで始まる文字列に小数点のみが必要なことです。
これが私の現在の解決策です:
string text = "+123.23 foo 456.34 bar -789.56";
List<string> decimals = Regex.Split(text, @"[^0-9\.]+").Where(
c => c != "." && c.Trim() != string.Empty).ToList();
foreach (var str in decimals)
{
Console.WriteLine(str);
}
// Output:
//
// 123.23
// 456.34
// 789.56
//
// Desired output:
//
// 123.23
// -789.56
私は正規表現をよく知らないので、より適切なパターンについて助けてください。