问题描述
我有一个多行字符串,如果该行包含 '$' 字符,我想删除字符串中的一行。
示例字符串:- <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楼
s = s.replaceAll(".*\\$.*(\\R|$)", "");
-
\\R
匹配行尾(\\n
或\\r\\n
或其他一些)。 -
\\\\$
匹配美元符号本身。 -
.
任何字符,默认情况下但不是换行符。 -
(\\\\R|$)
最后一行不需要以换行符 $ = 字符串结尾结束。