我有这个文本文件:
1 Juan García12-11-2016 Reparación caldera 110.50
2 Eva Blasco05-10-2016 Fuga de agua 200.00
3 Rosa Carreras23-01-2016 Cambio de filtro 0.75
我需要在控制台上像这样显示它:
Code: 1, Client: Juan García, Date: 12-11-2016, Concept: Reparación caldera, Price: 110.50
我试过用正则表达式来做,但我通常会出错,而且我没有时间正确学习它
Pattern p = Pattern.compile(
"^([\\d.]+)\\s+(\\d+)\\s+([\\d.]+)\\s+(.+?)\\s+\\((\\d+)\\)(?:\\s+\\{([^{}]+))?"
);
Matcher m = p.matcher("");
Scanner sc = new Scanner(new File("C:\\Temp\\factura.txt"));
while (sc.hasNextLine())
{
String s = sc.nextLine();
if (m.reset(s).find())
{
System.out.printf("%s %8s %6s%n%s (%s) %s%n%n",
m.group(1), m.group(2), m.group(3), m.group(4), m.group(5),
m.start(6) != -1 ? m.group(6) : "");
}
}
我用正则表达式和子字符串尝试了一些东西,但我无法让它工作,我快要疯了。
任何帮助表示赞赏。
慕的地10843
相关分类