(\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