【问题标题】:Java - Better way to split a string into just one arrayJava - 将字符串拆分为一个数组的更好方法
【发布时间】:2015-11-05 14:31:32
【问题描述】:

我只想要s.split(",") 中的第一个元素,并且我需要将值返回到字符串数组中。

我怎样才能使这段代码成为一个单行代码?

String [] sd = s.split(",");
String [] sf = new String[]{sd[0]};

我尝试了s.split(",",1);,但它只是将其全部添加到第一个元素中,而没有实际拆分它。

【问题讨论】:

  • 所以你想要一个String数组,其中第一个元素是s的子字符串,从0到,第一次出现的索引,对吗?为什么不String sd[] = {s.split(",")}
  • 因为只需要第一个元素。是的,很容易从中获得第一个元素,但 OP 想要它在一行中:)
  • 只需将第二行附加到第一行,中间没有换行符,你就得到了你的单行!

标签: java arrays string


【解决方案1】:

你可以使用

String [] sf = {sd.substring(0,sd.indexOf(','))};

如果您只需要逗号分隔字符串的第一个标记,使用substringindexOf 会比split 更有效。

当然,如果输入字符串不包含',',这段代码会抛出异常。

【讨论】:

    【解决方案2】:
    String [] sf = new String[]{s.split(",")[0]};
    

    【讨论】:

      【解决方案3】:

      如果你有 Apache Commons Lang,你可以简单地使用substringBefore:

      String[] sf = { StringUtils.substringBefore(s, ",") };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-10
        • 1970-01-01
        • 2011-10-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多