问题描述
我有一个多行字符串,如果该行包含 '$' 字符,我想删除字符串中的一行。
示例字符串:- <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|$)最后一行不需要以换行符 $ = 字符串结尾结束。