我无法删除字符串中的所有大写字符。任何见解均表示赞赏。
如果将MANDY输入为str,则输出为AD。我不确定为什么会有这种行为。
StringBuilder outString = new StringBuilder(str);
for(int i = 0; i<outString.length(); i++){
if(Character.isUpperCase(outString.charAt(i))){
outString.deleteCharAt(i);
}
}
return outString.toString();
谢谢
最佳答案
通过删除字符,可以更改索引,因此不会删除每个大写字符。
一个简单的“技巧”就是以另一种方式迭代缓冲区(从结尾开始)。这样,您只会影响已经处理的字符的索引
for(int i = outString.length()-1; i>=0; i--){
if(Character.isUpperCase(outString.charAt(i))){
outString.deleteCharAt(i);
}
}
关于java - 无法删除字符串中的所有大写字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38238372/