【问题标题】:How to put Java String to array如何将Java字符串放入数组
【发布时间】:2013-09-22 17:16:46
【问题描述】:

我有一个用逗号分隔的数字列表的 java 字符串,我想把它放入一个数组中,只有数字。我怎样才能做到这一点?

String result=",17,18,19,";

【问题讨论】:

标签: java arrays string


【解决方案1】:
String[] myArray = result.split(",");

这会返回一个由参数值分隔的数组,可以是正则表达式。

【讨论】:

    【解决方案2】:

    试试split()

    假设这是固定格式,

    String result=",17,18,19,";
    String[] resultarray= result.substring(1,result.length()).split(",");
    for (String string : resultarray) {
        System.out.println(string);
    }
    
    //output : 17 18 19
    

    split() method 返回

    通过将该字符串拆分为给定正则表达式的匹配项计算的字符串数组

    【讨论】:

    • 注意第一个逗号,你的代码将导致第一个索引的空格
    • @user123 非常感谢你的现场 :) 更新了我的帖子
    【解决方案3】:

    你可以这样做:

    String result ="1,2,3,4";
    String[] nums = result.spilt(","); // num[0]=1 , num[1] = 2 and so on..
    

    【讨论】:

    • 注意第一个逗号,你的代码将导致第一个索引的空格
    • @user123 我只是举例说明了如何使用溢出函数。
    • question is String result=",17,18,19," not String result="17,18,19," 第一个字符是逗号,对于提出的问题 split(",") 将给出num[1]=17 和 num[0]=blank space.question 也即将截断第一个逗号
    【解决方案4】:

    先去掉前导逗号:

    result = result.replaceFirst("^,", "");
    

    如果您不执行上述步骤,那么您最终会得到数组的前导空元素。最后用逗号分割字符串(注意,这不会导致任何 尾随 空元素):

    String[] arr = result.split(",");
    

    一个班轮:

    String[] arr = result.replaceFirst("^,", "").split(",");
    

    【讨论】:

    • @PaulVargas:不,这是 Java
    • replaceFirst 的调用在模式中有不必要的'/'s,并且缺少替换字符串。
    • @MikeSamuel:谢谢你的收获!
    • tkuzzy 你的答案是完全正确的。当我使用其他方法时,数组的长度没有正确输出。谢谢。
    【解决方案5】:
    String result=",17,18,19,";
    String[] resultArray = result.split(",");
    System.out.printf("Elements in the array are: ");
        for(String resultArr:resultArray)
        {
            System.out.println(resultArr);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 2020-07-28
      • 1970-01-01
      相关资源
      最近更新 更多