当我尝试用分隔符“|”拆分字符串时,它似乎每个字符都被分割。
这是导致问题的代码:
String out = myString.split("|");
|
是用于alternation的保留字符。你需要对其进行转义:String out = string.split("\\|");
\|
。split
需要一个正则表达式作为参数,其中|
是一个特殊字符。你需要用反斜杠对其进行转义。但是,在Java字符串中,反斜杠也是一个特殊字符,所以你也需要对其进行转义。
myString.split("\\|")
我认为这个问题已经在Java字符串分割成数组中得到了回答。
总结以上链接中的答案:
String[] array = values.split("\\|",-1);
这是对我有效的方法!
String tivoServiceCodes = "D1FAMN,DTV|SKYSP1,DTV|MOV01,VOD";
String[] serviceCodes = tivoServiceCodes.split("\\|");
for(String sc : serviceCodes){
System.out.println(sc.toString());
}
|
字符并不表示空字符串,而是表示“或”。只是这意味着问题中的正则表达式被翻译成“空字符串或空字符串”。 - yshavit