2016-05-02 26 views
0

這是我的性格列表項:達到一定的角色時如何分割字符列表並將其存儲在Java中的字符串

ALPO..LASS....OBO.PARROT 

項目的字符數組列表中包含的組合「」和信件。我想在最後一個''分割字符。'遇到並將值存儲爲字符串,或將所提取的字符串傳遞到字符串數組列表中。

預期輸出:(以字符串數組列表需要)

ALPO 
LASS 
OBO 
PARROT 

我試着使用:

for (int i = 0; ....) 
{ 
    .... 
    ArrayList<Character> answerchar = new ArrayList<Character>(); 
    static String outputs; 
    outputs += answerchar; 
    outputlist.add(outputs); 
} 

但我越來越怪異的結果。任何想法應該做什麼?

回答

3

把你的字符數組轉換成一個字符串,然後分裂的字面點:

List<Character> chars; // given a list of 'A', 'L', 'P', 'O', '.', '.', 'L', 'A', 'S', 'S', etc 

List<String> list = Arrays.asList(chars.stream().map(String::valueOf) 
    .collect(Collectors.joining("")).split("\\.+")); 

如果你特別需要一個ArrayList(不是任何列表實現):

ArrayList<String> words = new ArrayList<>(Arrays.asList(chars.stream().map(String::valueOf) 
    .collect(Collectors.joining("")).split("\\.+"))); 
+0

我正在輸出爲[[,,A,L,P,O,,,,,L,A,S,S,等。我不能將ALPO製作成完整的單詞並將其存儲在字符串中。@Bohemian – Anusha

+0

@Anusha複製粘貼正則表達式,它應該與'「\\。+」'完全一樣。現場演示顯示它正在工作 – Bohemian

+0

將字符數組轉換爲我使用的字符串String fullop = String.valueOf(answerchar)其中,answerchar是我的字符列表。然後我用String'fullop'繼續你的回答@Bohemian – Anusha

1

您需要拆分一個帶有許多''的字符串。 ,一個點不起作用,所以你需要拆分多次出現的'。'。
的 嘗試示例代碼 - >

String inputString = "ALPO..LASS....OBO.PARROT"; 
String[] stringArray = inputString.split("\\.+"); 
for(int i = 0; i < stringArray.length; i++){ 
    System.out.println(stringArray[i]); 
} 

但願這應該工作。

編輯1- 它正在我的最後PFA截圖相同。

enter image description here

+0

我得到的輸出爲,A,L,P,O, , ,L,A,S,S,O, ,我需要在字符串數組列表中有「ALPO」,「LASSO」字樣 – Anusha

+0

檢查編輯的答案,我添加了輸出的截圖。 –

+0

您可以通過傳遞字符數組中的輸入並使用該數組進行測試來檢查嗎?我認爲你得到了,因爲你是硬編碼字符串@Ajinkya Patil – Anusha

-1

嘗試這種情況:

String name="ALPO..LASS....OBO.PARROT "; 
String[] tokens = name.split("\\.+"); //Splits with n number of "." 
for(int i=0;i<tokens.length;i++){ 
    System.out.println(tokens[i]); 
} 
相關問題