在java中将列表字符串转换为字符串列表
我得到的值是字符串格式的字符串列表,如下所示:“[“a”,“b”]”。我想将它们转换为字符串列表。我可以通过去掉前后大括号,然后在逗号上拆分来实现这一点。但这里的问题是,我可能会收到与单个字符串相同的值,也就是我想要转换为字符串列表的“a”。那么有什么方法可以概括这一点。一个可能的解决方案是使用在java中将列表字符串转换为字符串列表,java,Java,我得到的值是字符串格式的字符串列表,如下所示:“[“a”,“b”]”。我想将它们转换为字符串列表。我可以通过去掉前后大括号,然后在逗号上拆分来实现这一点。但这里的问题是,我可能会收到与单个字符串相同的值,也就是我想要转换为字符串列表的“a”。那么有什么方法可以概括这一点。一个可能的解决方案是使用Regex 您的表达式可以如下所示:“(.+?)” +?匹配任何字符(行终止符除外) +?量词-在一次和无限次之间进行匹配,匹配次数尽可能少,并根据需要进行扩展 String标记=“[\'a\',\'b
Regex
您的表达式可以如下所示:“(.+?)”
+?
匹配任何字符(行终止符除外)
+?
量词-在一次和无限次之间进行匹配,匹配次数尽可能少,并根据需要进行扩展
String标记=“[\'a\',\'b,c\',\'test\'”;
字符串模式=“\”(.+?)\”;
Pattern p=Pattern.compile(Pattern);
匹配器m=p.Matcher(令牌);
List tokenList=new ArrayList();
while(m.find()){
tokenList.add(m.group());
}
System.out.println(令牌列表);
您可以概括以下内容:
String str=“\”[\“a\”,\“b\”]\”;
字符串[]splitStrs=str.split(“\”,7);
System.out.println(splitStrs[0]+“”+splitStrs[1]+“”+splitStrs[2]+“”+splitStrs[3]+“”+splitStrs[4]+“”+splitStrs[5]+“”+splitStrs[6]);
我的输出
[甲,乙]
拆分不带分隔符的字符串不是问题。该策略的一个更大问题是分隔符出现在引号之间。听起来像是在问如何解析JSON数组。尝试打断每个元素,并将每个元素添加到
集合中,这样您将得到唯一的值。如果我正确理解了您的问题,您为什么不继续t双引号内的字符串,并添加到列表或集合中。它可能是JSONArray,也可能是JSONString。我一直想知道是否有任何方法可以概括。拆分字符串而不使用分隔符不是问题。该策略的一个更大问题是分隔符出现在引号之间。
String tokens = "[\"a\", \"b,c\", \"test\"]";
String pattern = "\"(.+?)\"";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(tokens);
List<String> tokenList = new ArrayList<String>();
while (m.find()) {
tokenList.add(m.group());
}
System.out.println(tokenList);