Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JAVA字符串中删除字符的步骤_Java - Fatal编程技术网

从JAVA字符串中删除字符的步骤

从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

在JAVA中从字符串s中删除字符。此处替换函数不适用于删除字符


    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);