我正在尝试使用简单的split()方法,但我得到的输出不正确。我正在使用此代码:
question = newobject.ACTIVITY_LIST_OF_QUESTIONS.split("|");
其中newobject.ACTIVITY_LIST_OF_QUESTIONS包含1 | 2 | 8 | 11 | 4 | 5 | 6 | 14 | 15 | 16 | 13 | 17 | 7 | 9 | 12 | 10作为字符串所以我必须得到每个数字在数组索引中。
但不是我得到输出 -
1
|
2
|
8
请帮助如果有人遇到同样的问题?
答案 0 :(得分:3)
您应该使用split("\\|")
。您需要打破regex |
的特殊含义。您可以使用\\|
执行此操作。 [注意split()
根据正则表达式进行拆分。
String s = "1|2|8|11|4|5|6|14|15|16|13|17|7|9|12|10";
String[] arr = s.split("\\|");
System.out.println(Arrays.toString(arr));
结果:
[1, 2, 8, 11, 4, 5, 6, 14, 15, 16, 13, 17, 7, 9, 12, 10]
答案 1 :(得分:1)
您需要将|
转义为\\|
。您的正则表达式被解释为“空字符串or
空字符串”,因此每个位置都匹配。
答案 2 :(得分:1)
|
是用于表示更改的正则表达式字符。要表示文字|
,您需要将其作为\\|
转义或将其放入字符类[|]
。