我有一个值为String sData = "abc|def|\"de|er\"|123";
的字符串,我需要将其拆分为分隔符 - " |"。在这种情况下,我的预期结果将是
abc
def
"de|er"
123
以下是我的代码
String sData = "abc|def|\"de|er\"|123";
String[] aSplit = sData.split(sDelimiter);
for(String s : aSplit) {
System.out.println(s);
}
但实际上它出现了以下结果
abc
def
"de
er"
123
我尝试过这种模式 - String sData = "abc|def|\"de\\|er\"|123";
但它仍然没有返回我预期的结果。
任何想法如何实现我的预期结果?
答案 0 :(得分:0)
这对我有用:
String sData = "abc|def|\"de|er\"|123";
String[] aSplit = sData.split("\\|");
for(int i = 0; i < aSplit.length; i++) {
if(aSplit[i].startsWith("\"")) {
if(aSplit[i+1].endsWith("\"")) {
aSplit[i] = aSplit[i] + "|" + aSplit[i+1];
aSplit[i+1] = "";
}
}
}
for(String s : aSplit) {
if(!s.equals(""))
System.out.println(s);
}
输出:
abc
def
"de|er"
123