【问题标题】:To remove a character from a string JAVA [duplicate]从字符串JAVA中删除一个字符[重复]
【发布时间】:2019-11-03 01:33:28
【问题描述】:

要从 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], "");
                }
                }
            }

        }
    }

【问题讨论】:

  • s.replace 返回一个新字符串作为结果,而不修改原始字符串。试试s = s.repace...
  • 签出this

标签: java


【解决方案1】:

Java字符串是不可变对象,不能直接修改,替换这段代码:

s.replace(letter[i], "");

作者:

s = s.replace(letter[i],Character.MIN_VALUE);

【讨论】:

  • replace(char, char) 函数接受 'char' 作为参数。起初,您不能提供字符串(双引号)作为替换。此外,它也不接受空字面量。
  • 是的!但这应该有效:s = s.replace(letter[i],Character.MIN_VALUE)
  • @MohamedIMLI - 在 OP 的情况下,它没有。他定义了一个不返回值的duplicate 方法。简单地更新 s 不会使该方法像 OP 所希望的那样工作。
猜你喜欢
  • 1970-01-01
  • 2011-08-01
  • 2012-10-21
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
  • 2022-06-15
  • 2014-02-19
相关资源
最近更新 更多