我无法删除字符串中的所有大写字符。任何见解表示赞赏。
如果我输入 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/