gpt4 book ai didi

Java 在文本文件中搜索字符串并替换或删除字符串中的字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:06 26 4
gpt4 key购买 nike

我正在处理一个大型文本文件,该文件包含数千行包含一些信息的文本。有时软件会随机添加一个字符,这将使我们的上传失败。我正在尝试创建一个程序来查找硬编码的字符串,然后在行内搜索并替换或删除无效字符。这是文本文件的一些内容。

    MTR17000386001000000000000000RA              124359      
00010000004000000040000000 000NN NNE 000 N
RDG17000386
KWHL000000000R00000100000059534000405162019075929N000400000010N8486
000010500R 00000010010000059226
RFF1700038652126007 ERT
0000000952.0062500070014051620190759290005953476Type 7 0000N 6
MTR17000386001000000000000000RA 114818
00010000005000000050000000 000NN NNE 000 N
RDG17000386
DMDL000000000R000001000.0072666035305162019112344N000100000010N8486
005180500R 00000010010000072666
RFF1700038611861733 ERT
0000000952.0062500070000051620191123440007266680Type 7 0000N 6

RDG17000386 DMD这一行可以看到有句点。该句点不应该存在,需要从文件中替换或删除。

在我当前的代码中,我正在搜索以“RDG”开头的每一行并且它可以找到,但我想将搜索限制为仅包含行内包含“DMD”的行并且我已经尝试更改RDG 到 DMD,这不起作用,因为该行不是以 DMD 开头。我不完全确定如何从文件中删除或替换句点。这是我的代码到目前为止的样子。

 import java.io.*;

public class ReadLineAndReplace {

public static void main(String[] args) throws IOException {

BufferedReader br = new BufferedReader(new FileReader("FilePath"));
StringBuilder sb = new StringBuilder();
String line = "";

while ((line = br.readLine()) != null) {

if (line.startsWith("RDG")) {
//assuming the replace would be inserted here
System.out.println(line);
}
}
}
}

最佳答案

使用。 matches() 与正则表达式

line.matches("^RDG.*DMD.*")

用零替换点

if (line.matches("^RDG.*DMD.*")) {
line = line.replace('.', '0')
}

关于Java 在文本文件中搜索字符串并替换或删除字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56261073/

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