[英]How to get String values from ArrayList and store them in a single string separated by commas, in Java 8?
[英]How to obtain elements from String separated by commas Java
我正在尝试获取以逗号分隔的String的值。
像这样的东西: String str = "item1, item2,0 item3, item4, 0 item5 ...."
这个奇怪的字符串是因为我有一个KML,我采用了解析kml的多边形的坐标。 示例: <coordinates> 2.18954459419779,41.40492402705473,0 2.189651379989959,41.40491712193686,0 2.189993453581252,41.40464878075789, ....
我要做的是将其分开:
List<String> items = Arrays.asList(str.split("\\s*,\\s*"));
但是我不知道如何使这个0消失,或者在0和下一个数字之间加上逗号。
我该怎么做?
编辑:解决方案
测试答案,最适合我的问题的是以下解决方案:
String[] str_solution = str.split("\\s*,0?\\s*");
只需将可选零添加到拆分模式
"\\s*,0?\\s*"
如果存在,它将与其余部分分开,否则将被忽略。
请使用以下代码
String a = "item1, item2,0 item3, item4, 0 item5";
String[] arr = a.split(",|,0|, 0|, 0 |")
这将匹配',0'',0'和',0',并将相应地拆分。
public class Test {
public static void main(String[] args) {
String data= "2.18954459419779,41.40492402705473,0 2.189651379989959,41.40491712193686,0 2.189993453581252,41.40464878075789,43.9919";
String[] dtx = data.split(",");
for (int j = 0; j < dtx.length; j++) {
if(dtx[j].indexOf(' ')>=0) dtx[j] = dtx[j].split(" ")[1];
System.out.println("data["+j+"]="+dtx[j]);
}
}
}
结果
data[0]=2.18954459419779
data[1]=41.40492402705473
data[2]=2.189651379989959
data[3]=41.40491712193686
data[4]=2.189993453581252
data[5]=41.40464878075789
data[6]=43.9919
使用从String拆分的方法
我测试过的一个例子:
String contenido = "item1,item2,item3";
String[] palabras;
palabras = contenido.split(",");
for(int i = 0; i < palabras.length; i++){
System.out.println(palabras[i]+ " ");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.