繁体   English   中英

如何从用逗号分隔的字符串中获取元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM