如何在Java中删除字符串中的字符?
问题描述:
我正在解决一些初学Java的例子,并且有一个问题,我必须返回一个新字符串,其中索引为n
的字符已被删除。如何在Java中删除字符串中的字符?
例如:
missingChar("kitten", 1) → "ktten"
我必须删除的第一个字符在字符串。
我试过,但没有奏效:
for (int i=0;i<str.length()-1;i++){
while (i==n){
str=str.replaceFirst(String.valueOf(str.charAt(i)),"");
return str;
}
}
有人能告诉我什么是错我的代码?
答
这里有一个简单的方法做你想要什么:
String missingChar(String s, int i) {
return s.substring(0, i) + s.substring(i+1);
}
你在你的问题中提供的代码替换整个字符串中的字符的第一次出现。而且,顺便说一句,如果因为return语句而具有与while相同的效果。 for循环也没用,因为你有字符索引(我猜这是n?)
+0
是的,我猜循环是不必要的 'String a = str.substring(0,n); String b = str.substring(n + 1,str.length()); return a + b' 工作,谢谢! –
“但它没有工作”。什么没有奏效?你卡在哪里?你是否遇到异常? – QBrute
您正在查找的方法是[substring()](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring(int,%20int))。 –