我有一个文件 details.txt,其中存储的数据就是这种格式
"571955NandhithaF1975-12-222011-12-06Mumbai"
列是前六位唯一标识, 姓名、(男/女)性别、出生日期、入职日期和地点 我必须使用逗号分隔符将其分成六列!! 请帮我解决这个问题
最佳答案
将每一行传递给包含以下逻辑的正则表达式函数:
String expression = "571955NandhithaF1975-12-222011-12-06Mumbai";
Pattern pattern = Pattern
.compile("([0-9]{6})([a-zA-Z]+)([M|F])([0-9]{4}-[0-9]{2}-[0-9]{2})([0-9]{4}-[0-9]{2}-[0-9]{2})([a-zA-Z0-9]+)");
Matcher matcher = pattern.matcher(expression);
if (matcher.find()) {
//System.out.println(matcher.group());
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
System.out.println(matcher.group(4));
System.out.println(matcher.group(5));
System.out.println(matcher.group(6));
}
输出:
571955
Nandhitha
F
1975-12-22
2011-12-06
Mumbai
关于hadoop - 如何将没有任何分隔符的字符串转换为逗号分隔的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38762950/