【发布时间】:2017-09-11 12:04:27
【问题描述】:
我有一个包含“0,35mA”的字符串我现在有下面的代码,它将“0,35mA”拆分为
“0”
","
“35”
“毫安”
List<string> splittedString = new List<string>();
foreach (string strItem in strList)
{
splittedString.AddRange(Regex.Matches(strItem, @"\D+|\d+")
.Cast<Match>()
.Select(m => m.Value)
.ToList());
}
我想要的是要拆分成的代码
“0,35”
“毫安”
我如何做到这一点?
【问题讨论】:
-
我相信您还需要学习一些关于正则表达式的知识,才能完成这个简单的任务。对于像这样的简单输入,整数部分和小数部分的简单组将能够捕获值,此时单元的组很简单:
(?<IntergerPart>\d+)(\.|,)(?<DecimalPart>\d+)(?<Unit>\w+)或(\d+)(\.|,)(\d+)(\w+)没有命名组。 -
但不清楚这种字符串可能很棘手我可以要求更大的输入面板吗?你总是有小数部分和小数分隔符吗?你处理 ^ 和 exposant 吗?你有时间吗?您是否验证数字后的每个单词都是一个单位