gpt4 book ai didi

java - 替换文本文件中的特定字符串

转载 作者:行者123 更新时间:2023-12-01 07:13:13 24 4
gpt4 key购买 nike

我正在尝试替换给定文本文件中出现的某个字符串。这是我编写的代码:

BufferedReader tempFileReader = new BufferedReader(new InputStreamReader(new FileInputStream(tempFile)));
File tempFileBuiltForUse = new File("C:\\testing\\anotherTempFile.txt");
Writer changer = new BufferedWriter(new FileWriter(tempFileBuiltForUse));
String lineContents ;
while( (lineContents = tempFileReader.readLine()) != null)
{
Pattern pattern = Pattern.compile("/.");
Matcher matcher = pattern.matcher(lineContents);
String lineByLine = null;
while(matcher.find())
{
lineByLine = lineContents.replaceAll(matcher.group(),System.getProperty("line.separator"));
changer.write(lineByLine);
}
}
changer.close();
tempFileReader.close();

假设我的 tempFile 的内容是:

This/DT is/VBZ a/DT sample/NN text/NN ./. 

我希望 anotherTempFile 包含:

此/DT 是/VBZ a/DT 示例/NN 文本/NN 。换一个新行。

但我没有得到所需的输出。而且我看不出我哪里出错了。 :-(请帮忙。 :-)

最佳答案

点在正则表达式中表示“每个字符”。尝试逃避它:

Pattern pattern = Pattern.compile("\\./\\.");

(您需要两个反斜杠,以转义字符串内的反斜杠本身,以便 Java 知道您想要一个反斜杠而不是特殊字符作为换行符,例如 \n

关于java - 替换文本文件中的特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9687417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com