【问题标题】:Split multiple Strings in java [duplicate]在java中拆分多个字符串[重复]
【发布时间】:2017-12-10 03:25:24
【问题描述】:

我是 Java 新手,尝试拆分多个字符串并将其存储在 String 数组中。外行程序如下:

    Scanner sc = new Scanner(System.in);
    String s1 = "Hello1 Hello2";
    String s2 = "Hello3 Hello4";
    String s3 = "Hello5 Hello6";
    String[] parts = s1.split(" ");
    parts = s2.split(" "); //Rewrites
    parts = s3.split(" "); //Rewrites
    for(String s4:parts) { 
      System.out.print(s4 + " ");
    }

程序的输出显然是:Hello5 Hello6。 (How to split a string in Java)

不管我期望输出 Hello1 Hello2 Hello3 Hello4 Hello5 Hello6。也就是说,传入的字符串不能替换数组中的现有字符串。

【问题讨论】:

    标签: java


    【解决方案1】:

    数组是固定长度的,所以你所能做的就是替换它们现有的元素,或者创建一个新的、单独的数组。

    如果你使用List,它可以是可变长度的,并且使用addAllsplit 的结果添加到其中会更容易:

    List<String> parts = new ArrayList<>();
    parts.addAll(Arrays.asList(s1.split(" ")));
    parts.addAll(Arrays.asList(s2.split(" ")));
    parts.addAll(Arrays.asList(s3.split(" ")));
    

    请注意,您必须在此处使用Arrays.asList,因为split 返回String[],而addAll 需要String 的集合,例如List&lt;String&gt;.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-16
      • 2020-04-17
      • 2017-07-22
      • 2012-03-31
      • 2017-03-21
      • 2018-08-18
      • 2022-01-13
      • 2011-06-27
      相关资源
      最近更新 更多