如何拆分一个字符串,其值也包含 java 中的分隔符?
How to split a string with value contains the delimiter also in java?
我有一个值为 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";
但它仍然没有返回我预期的结果。
知道如何才能达到我的预期结果吗?
这对我有用:
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
我有一个值为 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";
但它仍然没有返回我预期的结果。
知道如何才能达到我的预期结果吗?
这对我有用:
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