从JAVA字符串中删除字符的步骤
在JAVA中从字符串s中删除字符。此处替换函数不适用于删除字符从JAVA字符串中删除字符的步骤,java,Java,在JAVA中从字符串s中删除字符。此处替换函数不适用于删除字符 class DuplicateLetter{ public static void main(String[] abs) { duplicate("pbbcggttcoos", 2); } private static void duplicate(String s, int k) { int length = s.lengt
class DuplicateLetter{
public static void main(String[] abs) {
duplicate("pbbcggttcoos", 2);
}
private static void duplicate(String s, int k) {
int length = s.length();
char letter [] = s.toCharArray();
for(int i = 0; i < length; i++) {
if(i > 1) {
if(letter[i] == letter[i-1]) {
//remove the character
s.replace(letter[i], "");
}
}
}
}
}
类重复字母{
公共静态void main(字符串[]abs){
重复(“pbbcggttcoos”,2);
}
私有静态无效副本(字符串s,int k){
int length=s.length();
字符字母[]=s.toCharArray();
for(int i=0;i1){
if(字母[i]==字母[i-1]){
//删除该字符
s、 替换(字母[i],“”);
}
}
}
}
}
Java字符串是一个不可变的对象,您不能直接修改它,请替换此代码:
s.replace(letter[i], "");
作者:
s.replace
返回一个新字符串作为结果,而不修改原始字符串。请尝试s=s.repace…
。签出。replace(char,char)函数接受“char”作为参数。首先,不能提供字符串(双引号)作为替换。此外,它也不会接受空文本。是的!但这应该是可行的:s=s.replace(字母[i],Character.MIN_值)@MohamedIMLI——在OP的例子中,它不起作用。他定义了一个不返回值的replicate
方法。仅仅更新s
并不能使该方法按照OP的意图工作。
s = s.replace(letter[i],Character.MIN_VALUE);