簡體   English   中英

Java數組拆分字符串

[英]Java array split string

我有一個數組,每個元素包含第一個和第二個名稱,

 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,然后將它們拆分並將它們放入一個新數組中,或者也許是一種查看每個數組的方法string []的元素並將它們拆分並分配給新數組,而無需使用單獨的字符串。 非常感謝

在apache常用語言中使用StringUtils.join方法。

String[] newArray = StringUtils.join(array," ").split("\\s+");

使用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數組中的每個名稱,並根據正則表達式(如空格)對其進行拆分。 然后,您可以將結果添加到包含以下內容的Strings List中:

"bob", "dylan", "johny", "cash"

通過使用集合,您不需要知道名稱String數組的大小,並且可以處理名稱沒有多個部分的情況。

如果需要將List轉換回數組:

String[] splitNamesArray = splitNames.toArray(new String[splitNames.size()]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM