我有以下字符串:
string value = "123.456L";
Run Code Online (Sandbox Code Playgroud)
将此字符串解析为字符串和double的最佳方法是什么:
double number = 123.456;
string measure = "L"
Run Code Online (Sandbox Code Playgroud)
取而代之的是升,我们还可以有其他的东西,比如oz
,m/s
,liter
,kilograms
,等
假设度量单位始终表示为字符串后面的单个字符,您可以这样做:
string value = "123.456L";
var pos = value.LastIndexOfAny("0123456789".ToCharArray());
double number = double.Parse(value.Substring(0, pos+1));
string measure = value.Substring(pos+1);
Run Code Online (Sandbox Code Playgroud)
基于解释输入的注释,我使用正则表达式.
double number = double.Parse(Regex.Match(value, @"[\d.]+").Value);
string measure = value.Replace(number.ToString(), "");
Run Code Online (Sandbox Code Playgroud)
正则表达式[\d.]
匹配的任何数量或.
,在+
意味着它必须是1个或多个匹配.
归档时间: |
|
查看次数: |
2527 次 |
最近记录: |