(\d+(?:\.\d+)?)\D*$
- 此正则表达式中提取价格从带小数点的任何字符串,但我想提取小数点时,才会有东西,但不为零时,有300.50或300.25那么小数点应被提取,但就像如果有是300.00,那么不应该提取小数点,该怎么办?正则表达式价格
这是确定的,或任何更好的解决方案是存在的?
Match match = Regex.Match(cellRecord, @"(\d+(?:\.\d+)?)\D*$");
price = match.Groups[1].Value.ToString().Trim();
if (price.Substring(price.Length - 3, 3) == ".00")
{
price = price.Replace(".00", "");
}
我不知道语法是什么'(?:\ \ d +)'......如果你能使其更常用的正则表达式,(更“正规”的正则表达式...),也许更多的人知道答案。 – 2010-10-28 05:24:29
将它加载到Decimal(Decimal.Parse(...))并在输出时决定字符串的格式会更好吗?解析VS域模型vs演示文稿,还挺。 – sisve 2010-10-28 05:46:30