2013-04-03 38 views
-5

我有一個字符串和arraylist元素。如何用arraylist元素替換字符串使用java

例如:

String mystring = handbagging 
ArrayList a = [ing, bag,and]; 

我想替換ArrayList的元素字符串,並讓它成爲"h+and+bag+g+ing"

請提出意見。在此先感謝...

+4

請編寫一些代碼以及與任何問題時張貼在這裏。 –

+0

你是否清楚自己的問題?添加一些代碼... – AmitG

回答

0

我不知道我是否理解你的問題。您可以使用StringBuilder建立多個字符串字符串是這樣的:

StringBuilder builder = new StringBuilder(); 
    for(String s : myListWithString) { 
     builder.append(s); 
    } 
    String resultString = builder.toString(); 
0

我不明白你試圖在這裏做。但爲了一開始,我將與您分享一個示例代碼,它將爲您提供您所介紹的輸出。
注意:這不是一個優化的解決方案。
如果有重複的字符串,這將無法工作
我只是試圖給你一個算法,你可以想出你自己的解決方案,因爲你知道你實際上想要什麼。
不做這些字符串操作,用StringBuffer或StringBuilder的

String mystring = "handbagging"; 
     ArrayList<String> a = new ArrayList<String>(); 
     a.add("ing"); 
     a.add("bag"); 
     a.add("and"); 
     System.out.println(mystring); 
     for (Iterator<String> iterator = a.iterator(); iterator.hasNext();) { 
      String string = iterator.next(); 
      if(mystring.contains(string)){ 
       int index = mystring.indexOf(string); 
       mystring = mystring.substring(0, index) + "+" + string + "+" + mystring.substring(index + string.length()); 
      } 
     } 

     if(mystring.endsWith("+")){ 
      mystring = mystring.substring(0, mystring.length() - 1); 
     } 
     while(mystring.contains("++")){ 
      mystring = mystring.replace("++", "+"); 
     } 
     System.out.println("---" + mystring);