java 分解含有双引号的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 分解含有双引号的字符串相关的知识,希望对你有一定的参考价值。

例如:
有一个字符串是:A,"1,23,4",,B
,(逗号)作为分解符,但“”(双引号)里面的逗号不作为分解符。

上述分解后的结果为(String 数组):
A
1,23,4
(空串)
B

请用java代码实现。

谢谢各位了!!!

String str = "A,\\"1,23,4\\",,B";
//首先把"除掉
String []stra = str.split("\\"");
int i = 0;
String []temp;
List<String> result = new ArrayList<String>();
for(String s : stra)
//如果是""内的字符串则直接写入到结果集中,否则分隔,号,获取子字符串
if(i % 2 == 0)
temp = s.split(",");
if(temp.length > 0)
for(String ts : temp)
result.add(ts);

else
result.add(s);

i ++;

//打印结果集
for(String s : result)
System.out.println(s);


运行结果为
A
1,23,4

B
参考技术A 照你的意思是分字符串吧,那个双引号也要吧,如果不要的话说声,改下就好了
//TestString.java

import java.util.ArrayList;
import java.util.List;

public class TestString

public static void main(String[] args)

String s = "A,\"1,23,4\",,B";
String s1[];
char c[] = s.toCharArray();
StringBuffer bs=new StringBuffer();
StringBuffer bs1=new StringBuffer();
for (int i = 0; i < c.length; i++)

if (c[i] != '\"')

if (c[i] != ',')

bs.append(c[i]+" ");


else

bs1.append(c[i]);
if(i++ < c.length);
else break;
while (true)

if (c[i] != '\"')

bs1.append(c[i]);
i++;

else

bs1.append(c[i]);
bs.append(bs1+" ");
break;






s1=bs.toString().split("\\s");
for(int i=0;i<s1.length;i++)
System.out.println(s1[i]);



运行结果为:
A
"1,23,4"
B
参考技术B 使用转义字符
\[。。。]

Java String 如何加双引号

1 public class Test{ 2 3 public static void main(String[] args){ 4 String str1 = "\\"name\\"";//字符串两边含有双引号 5 String str2 = "name \\"is\\" zcr";//字符串中间含有双引号 6 String str3 = "\\\\name";//使用转义字符还可以使字符串包含其他字符 7 8 System.out.println("字符串一:" + str1); 9 System.out.println("字符串二:" + str2); 10 System.out.println("字符串三:" + str3); 11 } 12 }

image

以上是关于java 分解含有双引号的字符串的主要内容,如果未能解决你的问题,请参考以下文章

Java String 如何加双引号

java怎么处理带引号的字符串

python 字符串组成MySql 命令时,字符串含有单引号或者双引号导致出错解决办法

JavaScript基础 输出含有双引号/单引号的字符串

C# json字符串解析含有双引号

在VB中如果双引号里含有双引号怎么整