作者bera (k.k)
看板java
标题[问题] 分割字串的问题, 求救 >"<
时间Thu May 2 15:57:09 2013
以下是目前我测试的程式码, 但不是我要的结果 >"<
public static void main(String[] args) {
String str = "小尚,\"Abby, Sun\",girl,0911-XXX0L9,si,1988/11/20";
String[] cells = str.split(",");
System.out.println(str);
for(int i = 0 ; i < cells.length ; i++){
System.out.println("cells["+i+"]:"+cells[i]);
}
}
Console output:
小尚,"Abby, Sun",girl,0911-XXX0L9,si,1988/11/20
cells[0]:小尚
cells[1]:"Abby
cells[2]: Sun"
cells[3]:girl
cells[4]:0911-XXX0L9
cells[5]:si
cells[6]:1988/11/20
我想要的结果是
cells[0]:小尚
cells[1]:"Abby, Sun"
cells[2]:girl
cells[3]:0911-XXX0L9
cells[4]:si
cells[5]:1988/11/20
说明:
资料都是用逗号来当分隔符号
但是如果资料里有逗号想呈现
就会用双引号括住
後来想用indexOf来做
但做到
String str = "小尚,\"Abby, Sun\",girl,0911-XXX0L9,si,1988/11/20";
int idxStart;
int idxEnd;
String strTemp;
if(str.indexOf("\"")>-1){
idxStart = str.indexOf("\"");
System.out.println(str.indexOf("\""));
idxEnd = str.indexOf("\"", idxStart+1);
strTemp = str.substring(idxStart+1, idxEnd);
System.out.println(strTemp);
}
就没想法了
而进阶的资料可能会像
String str =
"小尚,\"Abby, Sun\",girl,0911-XXX0L9,\"si, Tokyo, Relax~~\",1988/11/20";
这样的形式
不知道可不可以请教一下思路呢? 谢谢~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.248.193
1F:推 PsMonkey:建议你直接去找 Java 的 CSV library(印象中有) 05/02 16:01
2F:→ cha122977:加上判断式 让出现双引号的部份合并如何 05/02 18:05
3F:→ bera:不能使用CSV的library, 要自己写判断逻辑出来~~ 05/03 09:02
4F:→ popcorny:为什麽不能用现成套件? 因为是作业? 05/03 09:59
5F:→ bera:不是耶~~~要想人家怎麽实现的逻辑~~~ 05/03 10:00