我有这样的格式化文本:
x.i9j11k2d1" index="603" value="0"/>
x.i9j11k2d2" index="604" value="0"/>
x.i9j11k2d3" index="605" value="0"/>
x.i10j1k1d1" index="606" value="-0"/>
Run Code Online (Sandbox Code Playgroud)
而且,我对仅扫描数字感兴趣.例如:
int i,j,k,d,index,value;
Run Code Online (Sandbox Code Playgroud)
对于我想要的第一行:
i=9, j=11, k=2, d=1, index=603, value=0
Run Code Online (Sandbox Code Playgroud)
为此,我使用了以下代码:
Scanner file=new Scanner(new File("C:/sol.txt"));
while(file.hasNext())
{
System.out.println("");
int i=0;
int j=0;
int k=0;
int d=0;
file.useDelimiter("");
while(!(file.hasNextInt()))
{
System.out.print(file.next());
}
//System.out.print(file.next());
file.useDelimiter("j");
i=file.nextInt();
System.out.print(i);
file.useDelimiter("");
System.out.print(file.next()); //j
file.useDelimiter("k");
j=file.nextInt();
System.out.print(j);
file.useDelimiter("");
System.out.print(file.next()); //k
k=file.nextInt();
System.out.print(k);
System.out.print(file.next()); //d
d=file.nextInt();
System.out.print(d);
while(!(file.hasNextInt()))
{
System.out.print(file.next());
}
file.useDelimiter("\"");
int index=file.nextInt();
System.out.print(index);
file.useDelimiter("");
while(!(file.hasNextInt()))
{
System.out.print(file.next());
}
int value=file.nextInt();
System.out.print(value);
System.out.print(file.nextLine()); …Run Code Online (Sandbox Code Playgroud)