Невозможно разобрать символ ^
Хорошо, теперь я могу разобрать пространство, которое было моей предыдущей проблемой. Теперь мой парсер почти готов, но есть дефект, который я не могу найти.
Я могу получить данные после сегментов (см. Код) и данные между каналами. Я не могу добраться до уровня и получить данные, которые находятся между каналами и разделены ^.
Например.
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 с различными идентификаторами после @
Код комментария, приведенный ниже, создает проблему.
КОД:
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();
}
Пожалуйста, порекомендуйте.