场景:
有个字符串oldStr,内容为“a,b,c,d,e",想动态删除某个字符,或c或b。
解决办法:
1、转数组
String[] arr = oldStr.split(","); ArrayList<String> m = new ArrayList<>(); for (int i = 0; i < arr.length; i++) {//add进ArrayList数组 m.add(arr[i].trim()); }
先转数组string[],再转ArrayList,主要为删除作准备;
2、删除指定字符d
for (int i = 0; i < m.size(); i++) {//用ArrayList的remove功能,移除指定字符 if ("d".equals(m.get(i))) { m.remove(i); } }
3、再将剩下的数组转String
String s1 = m.toString(); String s2 = s1.substring(1, s1.length() - 1) + ",";//去除首尾[]符号,并加上”,“号 String s = s.replaceAll(" ", "");这里有几个坑,一是数组转为字符串时,得在后面加上","逗号;二是数组莫名还会加进了空格进去,所以最后得把空格符号替换掉。