我有这个字符串:
1945:纽约大学:70:俄亥俄州立大学:65
我想使用扫描仪来阅读它并忽略分数字段':'
、70
和。65
但我希望它读取年份。我知道如何设置分隔符以丢弃所有数字和':'
,但我不知道如何使其仅丢弃某些数字。我所说的真的可以做到吗?
我有这个字符串:
1945:纽约大学:70:俄亥俄州立大学:65
我想使用扫描仪来阅读它并忽略分数字段':'
、70
和。65
但我希望它读取年份。我知道如何设置分隔符以丢弃所有数字和':'
,但我不知道如何使其仅丢弃某些数字。我所说的真的可以做到吗?
尝试
Scanner sc = new Scanner("1945:New York University:70:Ohio State:65");
sc.useDelimiter(":\\d+:|:\\d+$|:");
while(sc.hasNext()) {
System.out.println(sc.next());
}
输出
1945
New York University
Ohio State
我的回答,转贴无幽默
Scanner scanner = new Scanner("1945:New York University:70:Ohio State:65");
scanner.useDelimiter(":(\\d\\d:?)?");
while(scanner.hasNext()) {
System.out.println(scanner.next());
}
scanner.close();