2017-06-26 29 views
-1

這是一個基本問題,但我面臨着一個問題。我有一個ArrayList和一個字符串。我想根據列表中的值拆分字符串。但它沒有正常工作。將重複的for循環拆分爲字符串不正確

for (int i=0;i<tagNameList.size();i++) 
     { 

      words=text.split(tagNameList.get(i)); 
      Log.e("tagname","tagName"+tagNameList.get(i)+"\n"+words.length); 
     } 
     for (int i=0;i<words.length;i++){ 
      Log.e("New Words","New Words"+words[i]); 
     } 

這是我的代碼。例如,我的arraylist tagNameList的值爲(@aryan,@aryan,@Lord Jaganadham temple),我的字符串是「@Aryan檢查API響應@Aryan上傳代碼@Lord Jaganadham temple)....但如果我循環ArrayList中我的輸出是 「嗨@Aryan在檢查API響應@Aryan上傳代碼」但預期輸出是:

檢查API響應

上傳代碼在

任何請幫助我提前致謝

+0

您正在拆分'text'每次迭代,但只使用最後一次迭代的結果。第二個for循環僅獲得由tagNameList的最後一個元素分割的字符串。 – Adithya

+0

我沒有得到你。我想根據我的數組值來分割 – Yamuna

+0

使詞成爲一個字符串數組,並執行'words [i] = text.split(tagNameList.get(i));'。 – Adithya

回答

1

可能會有所幫助,

for (int i=0;i<tagNameList .size();i++) 
    { 
     text = text.replaceAll(tagNameList.get(i), "#");    
    } 
    words = text.split("#"); 
    for (int i=0;i<words.length;i++){ 
     System.out.println(words[i]); 
    }