【发布时间】:2013-10-30 22:05:18
【问题描述】:
我有一个包含以下数据的文本文件:
20;
1: 39, 63;
2: 33, 7;
16: 33, 7;
3: 45, 27;
4: 8, 67;
5: 19, 47;
6: 15, 40;
...
20: 65, 54;
第一个整数是列表中条目的数量。
每一行都是一个条目。所以条目 1 的 x y 坐标分别为 39 和 63。
我知道我可以使用不同的分隔符来读取数据,但我不太确定如何实现这一点。目前我正在使用split()。
以下代码读取每一行,但这显然不起作用,因为分隔符没有正确设置。有没有好办法让它发挥作用?
String[] temp = sc.next().split(";");
int productAmount = Integer.parseInt(temp[0]);
sc.nextLine();
for (int i = 0; i < productAmount; i++) {
int productID = sc.nextInt();
int x = sc.nextInt();
int y = sc.nextInt();
Product product = new Product(x, y, productID);
productList.add(product);
}
【问题讨论】:
-
split有一个String作为其参数。因此,您可以按照regex语法使用多个分隔符。
标签: java regex parsing java.util.scanner