在java中拆分多个字符串[重复]
Posted
技术标签:
【中文标题】在java中拆分多个字符串[重复]【英文标题】:Split multiple Strings in java [duplicate] 【发布时间】: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。也就是说,传入的字符串不能替换数组中的现有字符串。
【问题讨论】:
【参考方案1】:数组是固定长度的,所以你所能做的就是替换它们现有的元素,或者创建一个新的、单独的数组。
如果你使用List
,它可以是可变长度的,并且使用addAll
将split
的结果添加到其中会更容易:
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<String>
.
【讨论】:
以上是关于在java中拆分多个字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章