如何在字符串中搜索字符并用新字符替换这些字符?

时间:2017-03-04 19:20:44

标签: java string arraylist

我想在for循环中浏览一个ArrayList 并检查String是否包含字符A

即:

String = "A"

并用(例如)字符A&%替换该字符 现在,

String = "A&%"

再次经历,它会看到另一个A 所以现在应该是

String = "A&%&%"

所以从某种意义上讲它是一条规则: 用A

替换所有A&%次出现
  ArrayList<String> myList = new ArrayList<>();

   myList.add("A");
   for(int i = 0; i < myList.size(); i++){

       if(myList.contains('A')){
           myList.add("A&%");
       }
       System.out.println(myList);
   }

2 个答案:

答案 0 :(得分:1)

您应该使用这段代码:

ArrayList<String> myList = new ArrayList<>();
myList.add("A");
for(int i = 0; i < myList.size(); i++) {
    String s = myList.get(i);
    if (s.contains("A")) {
        s = s.replace("A", "A&%");
        myList.set(i, s);
    }
    System.out.println(myList);
}

答案 1 :(得分:0)

  

我希望它通过for循环遍历ArrayList并检查String是否包含字符'A'

您需要使用get(i),因为您要检查字符串contains,而不是列表包含。

ArrayList<String> myList = new ArrayList<>();

for(int i = 0; i < myList.size(); i++){
    if(myList.get(i).contains("A")) {
  

并将该字符替换为字符A&amp;%

您需要更新列表中的字符串,而不是添加到列表

        myList.set(i, myList.get(i).replace("A", "A&%"));
    }
}   
System.out.println(myList);