gpt4 book ai didi

java - 如何在 Java 中创建匹配正则表达式的字符串数组列表?

转载 作者:行者123 更新时间:2023-11-29 04:35:16 26 4
gpt4 key购买 nike

我正在尝试从 .txt 文件中过滤出一些信息。

应该读取文件,我想将所有匹配 'AT.*.1' 的字符串放在 ArrayList 中。

txt文件示例:

Test text AT5X00.1 WednesdayAT5.1 January 26thAT9H99.1    AT6P6.1

然后我想要一个像这样的 ArrayList:

[AT5X00.1, AT5.1, AT9H99.1, AT6P6.1]

我在编程方面不是很有经验,所以也许这很容易,但我被卡住了。到目前为止,这是我尝试过的:

        JFileChooser chooser = new JFileChooser(); 
chooser.showOpenDialog(null);
File file = chooser.getSelectedFile();
String filename = file.getAbsolutePath();
textfield1.setText(filename);
String arr = new String();
try {
Scanner input = new Scanner (file);
while (input.hasNext()) {
textarea1.setText(input.nextLine());
//input.close();
}
} catch (FileNotFoundException ex) {
Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
}
String content = textarea1.getText();
ArrayList<String> myList = new ArrayList<String>Arrays.asList(content.split("AT")));

这是行不通的,因为它只使用最后一行而不是整个文件,我试图用“AT”而不是 RE 来拆分它,但这行不通,因为 AT 然后被删除了。而且我在文件中也有 "AT" 字符串,不以 .1 结尾,我不想在我的列表中包含这些字符串。所以,我认为我应该使用 RE。

对不起,如果我的语法不是最好的,但英语不是我的母语。我希望任何人都可以帮助我。谢谢:)

最佳答案

您可能正在寻找的正则表达式是:

AT[\d.]+1

参见 a demo on regex101.com .
请注意,反斜杠需要在 Java 的正则表达式中转义:

AT[\\d.]+1

要允许数字和字母,将其更改为:

AT[\\w.]+1

关于java - 如何在 Java 中创建匹配正则表达式的字符串数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41880910/

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