我有以下示例数据:
***
100
101
102
103
104
我想分开" ^ | ^"所以结果将是:
String a = "***^|^100^|^101^|^102^|^103^|^104^|^105^|^106^|^107^|^108^|^";
String [] split ;
split = a.split("^|^");
for(int i=0; i<split.length; i++)
{
System.out.println(split[i]);
}
以下是我的示例代码,但未能获得预期的结果,我是否误解了分割模式?
Right Click -> Advanced -> Remove Mapping
答案 0 :(得分:12)
^
和|
都是您需要逃脱的特殊聊天。
split = a.split("\\^\\|\\^");
答案 1 :(得分:12)
使用Pattern.quote()
将所有元字符视为字符串文字/文字模式。 ^
,|
在正则表达式中具有特殊含义。
这应该有效:
public static void main(String[] args) throws Exception {
String s = "***^|^100^|^101^|^102^|^103^|^104^|^";
String pattern = Pattern.quote("^|^");
System.out.println(Arrays.toString(s.split(pattern)));
}
O / P:
[***, 100, 101, 102, 103, 104]
答案 2 :(得分:-2)
请检查
String str = "***^|^100^|^101^|^102^|^103^|^104^|^";
String arr[] = str.split("\\^\\|\\^");
System.out.println(arr.length);