gpt4 book ai didi

java - 删除文本中的一行,如果

转载 作者:行者123 更新时间:2023-11-29 05:31:08 25 4
gpt4 key购买 nike

你好,我的问题是我有一个类似这样的文本:

something1
[ something2
something3
[ something4

我想在 java 中编写一个代码来读取该文本并搜索一个字符,在本例中为“[”,当它找到它时,删除整行,在本例中为“[ something2",然后继续搜索那个角色所以最后我会得到这样的东西

something1
something3

我已经在搜索类似的东西并且找到了这种方法

File inputFile = new File("myFile.txt");
File tempFile = new File("myTempFile.txt");

BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));

String lineToRemove = "bbb";
String currentLine;

while((currentLine = reader.readLine()) != null) {
// trim newline when comparing with lineToRemove
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove)) continue;
writer.write(currentLine);
}

boolean successful = tempFile.renameTo(inputFile);

该代码删除了其中包含“bbb”的整行,这里的问题是只删除了其中只有且难以捉摸的 bbb 的行举例说明

something1
bbb
something3
bbb something

运行代码后

something1
something3
bbb something

所以我尝试修改代码以搜索字符 [ 然后删除整行。但我做不到,所以我希望有人能帮助我。

最佳答案

试试这个:

File inputFile = new File("myFile.txt");
File tempFile = new File("myTempFile.txt");

BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));

String lineToRemove = "bbb";
String currentLine;

while((currentLine = reader.readLine()) != null) {
// trim newline when comparing with lineToRemove
String trimmedLine = currentLine.trim();
if(!trimmedLine.contains(lineToRemove))
{
writer.write(currentLine);
}
}

boolean successful = tempFile.renameTo(inputFile);

关于java - 删除文本中的一行,如果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21051668/

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