如果字符串包含“ $”字符,则不使用任何内容替换

时间:2019-02-21 14:16:54

标签: java regex string

我有一个多行字符串,如果该行包含'$'字符,我想删除该行。

示例字符串:-        <ecm:Field name="X_LastMobileNumChange_detail">NA</ecm:Field> <ecm:Field name="X_ModeOfOperation">SELF</ecm:Field> <ecm:Field name="X_DrawingPower">210000.0000</ecm:Field> <ecm:Field name="${/ecmi/}"></ecm:Field> <ecm:Field name="X_DrawingPower">210000.0000</ecm:Field>

因此,上面的字符串是一个示例字符串。所以在这种情况下,我想删除第4行,因为它包含“ $”。有人可以帮我写正则表达式吗?

1 个答案:

答案 0 :(得分:2)

s = s.replaceAll(".*\\$.*(\\R|$)", "");
  • \R与行尾(\n\r\n或其他一些结尾)匹配。
  • \\$与美元符号本身匹配。
  • .任何字符,默认情况下不是换行符。
  • (\\R|$)的最后一行不需要以换行符$ =字符串结尾。