2012-04-18 56 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

相关问题