gpt4 book ai didi

java - 用Java解析文本文件

转载 作者:行者123 更新时间:2023-12-02 12:57:15 25 4
gpt4 key购买 nike

我有一个包含一行的文本文件。像这样的:A10102012MikeM。第一个字母可以是 A 或 P,后面的数字对应于日期,接下来是姓名,然后是性别(M 或 F)。将此信息解析为 Map 的最佳方法是什么?当然,我可以获取每个元素的 string.substring(x,y) 。但它似乎太硬编码了。这可以通过正则表达式以某种方式完成吗?

最佳答案

尝试这个正则表达式^(A|P)(\d+)(\w+?)(M|F)$。这可以工作,但有一些条件:

1) 它不会检查日期有效性。

2)输出应该与您所描述的完全一致,否则可能会失败。

String str = "A10102012MikeM";

String p = "^([A|P])(\\d+)(\\w+?)(M|F)$";
Pattern pattern = Pattern.compile(p);
Matcher matcher = pattern.matcher(str);
if (matcher.find()){
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
System.out.println(matcher.group(4));
}

输出=

A 10102012 Mike M

关于java - 用Java解析文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9121387/

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