【问题标题】:How to split a string by comma followed by a colon in java?java - 如何在java中用逗号后跟冒号分割字符串?
【发布时间】:2016-01-17 04:36:19
【问题描述】:

我是一个 java 新手,我很想知道如何拆分一个以逗号开头并在末尾跟一个冒号的字符串。 这种字符串的一个例子是?

-10,3,15,4:38
5,15,8,2:8

会是这样吗?

sections = line.split(",");
tokens = sections[3].split(":");

或者甚至可以分割文件被读取两次的行?

tokens = line.split(",");
tokens = line.split(":");

我也试过了,但它给了我一个 ArrayOutOfBound 错误

tokens = line.split("[,:]");

我们将不胜感激。

【问题讨论】:

  • 查看java内置类stringTokenizer
  • 好的,我会的,谢谢@JackWilliams

标签: java split


【解决方案1】:

在拆分部分使用正则表达式,例如

line.split(",|;");

还没有测试过,但我想你明白了。

【讨论】:

【解决方案2】:

我不确定我是否完全正确理解了您的问题。但是如果你想先用,分割,再用:分割,你可以调用split()函数两次

String[] str = {"-10,3,15,4:38", "5,15,8,2:8"};
    
for (String s: str) {
    String[] temp = s.split(",")[3].split(":");
    System.out.println(temp[0] + " " + temp[1]);
}

输出:

4 38

2 8

【讨论】:

    【解决方案3】:

    你也可以这样做,如果你想要它用于一般情况,该方法基本上接受字符串数组,在数组中的每个索引处拆分每个字符串并将它们添加到 ArrayList。你可以试试,效果不错。

    public static void splitStrings(String[] str){
    
                String[] temp1 =null;//initialize temp array
    
                List<String> itemList = new ArrayList<String>();
    
                for(int i=0;i<str.length;i++){
    
                    temp1=str[i].split(",|:");
    
                     for (String item : temp1) {
                         itemList.add(item);
                      }
                     //Only print the final result of collection once iteration has ended
                     if(i==str.length-1){
    
                         System.out.println(itemList);
                     }
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-09
      • 2020-08-30
      • 2020-11-18
      • 1970-01-01
      • 2020-07-16
      • 2013-08-24
      相关资源
      最近更新 更多