好的,现在我可以解析我之前遇到的问题了。现在我的解析器几乎准备好了,但有一个我无法弄清楚的缺陷。
我能够在段后检索数据(参见代码)和管道之间的数据。我无法达到的是升级并检索包含在管道之间并由 ^ 分隔的数据。
例如。
Input String is A|1|2|3^4|
Expected Output
element1 A
element2 1
element3 2
element4.1 3
element4.2 4
但是,我目前的输出将是
element1 A
element2 1
element3 2
element4 3^4
我收到异常 1 [Ljava.lang.String;@1786e64,@ 之后有各种 id
下面给出的注释代码正在产生问题。
代码:
Scanner scanner = new Scanner(System.in);
str=scanner.nextLine();
System.out.println(str);
segments="(A)|(B)|(C)|(D)";
pipe="[\\s+\\|+\\+]";
carat="[\\^+]";
for(i=0;i<token_type1.length;i++)
{
token_type2=token_type1[i].toString().split(pipe);
for(j=0;j<token_type2.length;j++)
{
/*
token_type3=token_type2.toString().split(carat);
for(k=0;k<token_type3.length;k++)
System.out.println("\t"+(k+1)+" "+token_type3[k]);
*/
System.out.println((j+1)+"\t"+token_type2[j]);
}
System.out.println();
}
请指教。