String str = "\"{\"\"oman\"\"\",333,333,Locationoman,1,NULL,3.33333E+15,0,NULL,-1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,,NULL,NULL,NULL,1,NULL,50036,1.42771E+12,0,NULL,0,NULL,NULL,NULL,,NULL,NULL,NULL,NULL,2,0,1,3,0,1,T,F,F,0,Volume,-1,302,50036,50036,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,NULL,NULL,2,1,1,1,3,1,1,1,50036,0,1,0,OmanPrepaid,0,blrfts186_f861,CCC_USER_257,a082000000000033,\"16,436,113,650\",,NULL}";
我有这样的字符串,但输出应该像
检查第91个值,所有双引号的值都在一个索引处。请帮帮我。谢谢你提前
答案 0 :(得分:1)
您可以像这样使用正则表达式:
String[] tokens = str.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
您的字符串数组现在包含您想要的项目,第91项未分割,因为它位于引号之间。
如果您还想从结果元素中删除引号,则可以为所有项执行for循环:
for(int i = 0; i < tokens.length; i++) {
tokens[i] = tokens[i].replace('\"', '');
}
或仅针对一个项目:
tokens[90] = tokens[90].replace('\"', '');