我有一个数组,每个元素都包含第一个和第二个名称,
eg array[0] = bob dylan
array[1] = johny cash
我想获取这些名称,拆分它们,并将第一个名称分配给新数组的元素[0],将姓氏分配给新数组的元素[1],
eg newArray[0] = bob
newArray[1] = dylon
newArray[2] = johny
newArray[3] = cash
到目前为止我在这里:
String name;
for( int i = 0; i < array.length; i++ ){
System.out.println( "Enter the singers First name and Surname:" );
name = s.nextLine();
array[ i ] = name;
}
我已经准备好了两个数组,但我不确定是否需要获取数组元素并将它们分配给一个字符串1,然后将它们拆分并将它们放入一个新数组中,或者也许是一种方法查看字符串[]的每个元素并将它们拆分并分配给新数组,而无需使用单独的字符串。非常感谢
答案 0 :(得分:1)
在apache常用语言中使用StringUtils.join方法。
String[] newArray = StringUtils.join(array," ").split("\\s+");
答案 1 :(得分:1)
使用String.split()
和Java Collections包的组合来处理未知的数组大小。
String[] names = new String[] {"bob dylan", "johny cash"};
List<String> splitNames = new ArrayList<>();
for (String name : names) {
splitNames.addAll(Arrays.asList(name.split(" ")));
}
从这里开始,您可以遍历String
数组中的每个名称,并根据正则表达式(例如空格)将其拆分。然后,您可以将结果添加到List
的{{1}},其中包含:
Strings
通过使用集合,您不需要知道名称"bob", "dylan", "johny", "cash"
数组的大小,并且可以处理名称没有多个部分的情况。
如果您需要将String
转换回数组:
List