如何使用java regex删除以某个字符串开头的所有行?

Aza*_*tov 3 java regex

有大约1000个字符的文本.

String text = "bla bla..................
               .........................
               .........................
               file.....................
               .........................
               .........................
               file.....................
               .........................
Run Code Online (Sandbox Code Playgroud)

有些行以单词"file"开头.如何删除所有这些线?这是我试过的

text = text.replaceAll("file.*?//n", ""); 
Run Code Online (Sandbox Code Playgroud)

Ibr*_*jar 16

您可以尝试以下方式:

text = text.replaceAll("(?m)^file.*", "");
Run Code Online (Sandbox Code Playgroud)
  • (?m):打开多线模式,以使线^起始锚与每条线的起点匹配.
  • ^:匹配行首.
  • file:匹配文字file序列.
  • .* 将所有内容匹配到行尾.

因此,这将查找file在开头具有单词的任何行,然后匹配整行并将其替换为空字符串.

  • 如果你在最后添加`(?:\ r?\n)?`,你也可以删除换行符.+1 (3认同)