2012-04-18 46 views
0

我從arraylist arr中獲取值,並將這些值存儲在一個帶有逗號分隔符的字符串中。但是對於最後一個值也是逗號加。我該如何刪除它?請幫我...如何分割數組值並存儲在android中的字符串?

我的代碼:

ArrayList<String> arr; 
String str; 

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

       int kk = arr.size(); 
       System.out.println("splitting test" + arr.get(i)); 
       str += arr.get(i) + ","; 

       System.out.println("result" + str); 


      } 

回答

1

不要添加它在所有:

ArrayList<String> arr; 
String str; 

for (int i = 0; i < arr.size(); i++) { 
    int kk = arr.size(); 
    System.out.println("splitting test" + arr.get(i)); 
    str += arr.get(i); 
    if (i + 1 != arr.size()) { 
    str+= ","; 
    } 
    System.out.println("result" + str); 
} 
+0

嗨,謝謝你,他工作很好..另一個字符串數據就像a,b,c,|,d,e,f,|,g,h,k,|現在我想先用「|」分割字符串然後用「,」結果。我怎樣才能做到這一點?請幫我 – RaagaSudha 2012-04-18 10:31:33

+0

看看這裏:http://www.rgagnon.com/javadetails/java-0438.html – 2012-04-18 10:38:41

+0

嗨,謝謝你的鏈接......它幫助了我......還在我的字符串a,b, c,|,d,e,f,|,g,h,k,| .....我想在|之後刪除逗號符號。請幫助我如何刪除它。謝謝 – RaagaSudha 2012-04-18 11:14:39

0

嘗試:

str.substring(0, str.length()-1); 
0

如果你試試這個,我覺得應該工作。

ArrayList<String> arr; 
String str; 

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

       int kk = arr.size(); 
       System.out.println("splitting test" + arr.get(i)); 
       str += arr.get(i) + i!=arr.size()-1?"":","; 

       System.out.println("result" + str); 


      } 
0

你總是可以這樣寫。

String str; 

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

      int kk = arr.size(); 
      System.out.println("splitting test" + arr.get(i)); 
      // It is your old code str += arr.get(i) + ","; 
      // Insted write like this 

      str += arr.get(i); 
      if (i < arr.size() - 1) { 
       str += ","; 
      } 
      System.out.println("result" + str); 
     } 
0

中添加一個條件循環

if(i == arr.size()-1) 
{ 
    str += arr.get(i); 
} 
else 
{ 
    str += arr.get(i) + ","; 

} 
1

這個怎麼樣:

StringBuilder builder = new StringBuilder(); 
for(Object item : arrayOrIterable) builder.append(item).append(","); 
String result = builder.deleteCharAt(builder.length() - 1).toString(); 
0

你要通過數組列表這個功能。它會返回逗號分隔值。

public static <T> String getReasonArray(Collection<T> values) { 
    if (values == null || values.isEmpty()) return ""; 
    StringBuilder result = new StringBuilder(); 
    for (T val : values) { 
     result.append(val); 
     result.append(","); 
    } 
    return result.substring(0, result.length() - 1); 
} 
+0

你能告訴我們這個/爲什麼會這樣,OP是做錯了嗎? – Flummox 2017-10-26 08:42:21

相關問題