ドットの前の 1 桁または 2 桁とドットの後の 1 桁 (0 または 5) に一致する正規表現が必要です。
少なくとも1時間は試してみましたが、私は怒っています....
考えられる結果は次のとおりです。
5,0
5,5
30,0
30,5 etc.
1桁だけ挿入する場合、次のような結果が必要です。
5 --> 5,0
私を助けてくれる人はいますか?どうもありがとう!!
1 桁または 2 桁の数字と、それに続くドット リテラル、および '0' または '5' を確認するだけです。
^\d{1,2}\.[05]$
ただし、それは1桁のものを処理しません。1 つまたは 2 つの正規表現を照合しているのと同じ正規表現で 1 つの数字を照合する簡単な方法はないため、2 番目の正規表現を使用できます。
^\d$
次に、一致するものがあれば、それを double/float に変換します。
次の正規表現を試してください...
(?:\d{1,2}(?=.)|(?<=.)[50])
string regex=@"(?<b>\d{1,2})(?<a>[.]0|[.]5)?";
Match m=Regex.Match(input,regex);
string result=m.Groups["b"].Value+","+m.Groups["a"].Value==""?0:m.Groups["a"].Value;
上記のコードは、入力に対してこれらの結果を提供します
550.57 => 50,5
644 => 44,0