0

我有一个正则表达式来过滤数据

在此处输入图像描述

#匹配结果

 Homeowner's Insurance Premium ( 12 mo.) toAmerican Family  $893.00
 Insura
 Mortgage Insurance Premium (     mo.)
 Prepaid Interest ($5.99 per day from 10/02/2020 to 10/01/2020) -$5.99

使用上述 Matches 活动中的每个循环,我想使用 ff. 正则表达式,但它不起作用。任何的想法 ?谢谢。

(.*)\s\$\d[\d.]*([^\r\n]*)(?:\r?\n(?!\d+ )(.+))?
System.Text.RegularExpressions.Regex.Replace(item,"(.*)\s\$\d[\d.]*([^\r\n]*)(?:\r?\n(?!\d+ )(.+))?" , "")
4

1 回答 1

1

要删除字符串末尾的美元金额,您可以使用

Regex.Replace(item, @"\s*[+-]?\$\d*\.?\d+\s*$", "")

确保在 C# 代码中使用逐字字符串文字, @"..."(尽管在 VB.NET 中不需要),以便能够使用单个\作为正则表达式转义字符。

图案的意思

  • \s*- 0+ 个空格
  • [+-]?- 一个可选的-+
  • \$- 一个$字符
  • \d*- 0 位或更多位
  • \.?- 一个可选的.
  • \d+- 1+ 位数
  • \s*- 0 个或多个空格
  • $- 字符串结束。

在线查看RegexStorm 正则表达式演示(单击底部的Context选项卡查看替换结果)。

于 2020-09-23T14:11:30.153 回答