java查找指定字符串并删除该字符串所在的那一行

2025-02-23 00:08:44
推荐回答(3个)
回答1:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class Text
{
public static void main(String[] args) throws Exception
{
File file = new File("d:/11.txt");
String rl = null;
String special = "小红";
StringBuffer bf = new StringBuffer();
BufferedReader br = new BufferedReader(new FileReader(file));
while(( rl = br.readLine()) != null)
{
rl = rl.trim();
if(rl.indexOf(special) == -1){ //或者!r1.startsWith(special)
bf.append(rl).append("\r\n");
}
}
br.close();

BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write(bf.toString());
out.flush();
out.close();
}
}

回答2:

我写了一个正则表达式,不知道行不行。
String s="hi,\ni am learning java program!\nwhat about you?";
String str="java";
s.replace("(\\n[.[^\\n]]*)(java)([.[^\\n]]*\\n)","\\n"");
s.replace("([.[^\\n]]*)(java)([.[^\\n]]*\\n)","");
s.replace("([.[^\\n]]*)(java)([.[^\\n]]*)","");

回答3:

首先使用流读取txt,然后读取一个个字符,当出现小红的时候,删除