Arraylist用第一次出现的字符串替换每个元素

时间:2014-06-04 09:12:04

标签: java

我有一个像下面这样的arraylist

 List<String> list = new ArrayList<String>();

 list.add("P Pro Rata(Average Cost w/Tax Lots)");
            list.add("A apple is good");
            list.add("B ball is nice");
            list.add("C cat is not there");

我希望数组列表中每个元素的第一个空格应该替换为:operator(只有第一个空格和每个元素)

所以输出应该是

A:apple is good
B:ball is nice
C:cat is not there

我有一个解决方案,它迭代并创建新元素并将其添加到新列表并使用该新列表

任何人都可以提出最佳解决方案吗?

3 个答案:

答案 0 :(得分:6)

试试这个:

    for(int i=0;i<list.size();i++) {
        list.set(i,list.get(i).replaceFirst(" ", ":"));
    }

答案 1 :(得分:1)

您可以使用indexOf查找字符串中第一次出现的空格:

for (String s : list) {
    int index = s.indexOf(" ");
    String prefix = s.substring(0, index);
    String suffix = s.substring(index+1);
    System.out.println(prefix + ":" + suffix);
}

答案 2 :(得分:1)

用于每个迭代数组列表,replaceFirst将帮助您替换第一个char

 int i=0;
 for (String s : list){        
    list.set(i,s.replaceFirst(" ", ":"));
    i++;
 }