我想要替换.txt文件中的一行字符串。 然而,当我运行我的代码,程序只是删除一切,包括空格 这行是我的代码:是否可以在replaceAll上使用字符串变量?
public static void main(String[] args) {
try {
String str;
String temp = "";
String oldtext = "";
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
while ((str = br.readLine()) != null) {
oldtext += str + "\r\n";
if (str.equals("I drink Java")) {
temp = br.readLine();
System.out.println(temp);
}
}
br.close();
String newtext = oldtext.replaceAll(temp, "Hello");
FileWriter writer = new FileWriter("file.txt");
writer.write(newtext);
writer.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
file.txt的
I drink Java
I sleep Java
This is test string 1
This is test string 20000
我试图取代“我通过使用字符串变量temp将睡眠Java“行改为”Hello“。我知道它的工作原理是使用String newtext = oldtext.replaceAll("I sleep Java","Hello");
但我想知道是否有可能按照我的方式进行。如果是的话,谁能告诉我我在哪里错了? 谢谢! :)
如果您想使用正则表达式,replaceAll()很有用。你没有。所以只需使用replace()。 –
你有没有得到它的工作? – ItamarG3