【发布时间】:2020-05-08 11:15:35
【问题描述】:
我开始学习正则表达式,因为我发现它非常有用。
我有一个要解决的任务,但我的输出失败。 从键盘读取两个文件,读取第一个文件并将所有点更改为感叹号并将第一个文件的内容保存到第二个文件。我的解决方案:
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader.readLine();
String file2 = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(file1);
FileWriter fileWriter = new FileWriter(file2);
BufferedReader bufferedReader = new BufferedReader(fileReader);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
String a;
while ((a = bufferedReader.readLine()) != null) {
a.replaceAll("\\.","\\!");
bufferedWriter.write(a);
}
bufferedReader.close();
bufferedWriter.close();
}
}
【问题讨论】:
-
a = a.replace(".","!");如果你需要用!替换一个点,思维字符串是不可变的。 -
a = a.replaceAll("\\.","!"); -
天哪,我从来没有注意到这一点。谢谢它的工作!
标签: java regex bufferedreader filereader bufferedwriter