如何使用java正则表达式删除以某个字符串开头的所有行?
文本大约有1000个字符如何使用java正则表达式删除以某个字符串开头的所有行?,java,regex,Java,Regex,文本大约有1000个字符 String text = "bla bla.................. ......................... ......................... file..................... ......................... .................
String text = "bla bla..................
.........................
.........................
file.....................
.........................
.........................
file.....................
.........................
有些行以单词“file”开头。如何删除所有此类行?
这是我试过的
text = text.replaceAll("file.*?//n", "");
您可以尝试以下方法:
text = text.replaceAll("(?m)^file.*", "");
:打开多行模式,以便行(?m)
锚定的起点与每行的起点匹配^
:匹配行的开头^
:匹配文本文件
序列文件
将所有内容匹配到行尾*
因此,这将查找任何一行开头有单词
file
,然后匹配整行并用空字符串替换它。每行之后是否有换行符?或者它只是在一个文本初始化中定义的,在代码中分成多行?有换行符。我只是试图直观地显示它的外观,如果在末尾添加(?:\r?\n)?
,也可以删除换行符+1@Sniffer:谢谢,但很抱歉,我这次的评论速度有点快,因为如果匹配的行在字符串的末尾,它不会删除换行符。@CasimiritHippolyte LOL,这次我甚至没有考虑你的评论,我认为这是理所当然的。无论如何,我已经删除了这句话,但谢谢你。嗅探:我是个陷阱,不要相信任何人!