我需要使用 scan.useDelimiter() 来识别在“:”之后发生的字符串。
我正在制作一个扫描仪,它从类似条目列表中获取以下行。
c : 20002 : The Dragon : Dreama : 10000 : 1 : 22 : 9 : 237.20 : 60.47 : 354.56
这是我到目前为止所拥有的:
public Boolean readFile (){ //Fix tomorrow
while ( input.hasNext () ) {
char x = stat.next().charAt(0);
String line = input.nextLine().trim();
Scanner stat = new Scanner(line).useDelimiter("\\s*:\\s*")
if( line.length()== 0 || input.next().charAt(0) == '/' ) continue;
switch ( x ) {
case 'c' :
int a = stat.nextInt();
String b = stat.next();
break;
case 't' :
//...
由于某种原因,我无法正确扫描它。对于上面的条目,我需要以下字符串。
20002, The Dragon, Dreama, 10000, etc.
如您所见,我需要忽略短语边缘的空格,但如果在诸如“The Dragon”之类的短语之间有空格,则需要保留。