当前位置: 首页 > 面试题库 >

用单个出现替换字符的多个连续出现

连乐
2023-03-14
问题内容

我正在用Java开发自然语言处理应用程序,正在使用IMDB和Amazon的数据。

我遇到了某个数据集,其中包含类似的单词partyyyyy。这些单词对我的分类算法不利。因此,我想删除它们并添加party而不是partyyyyyyy

我怎样才能做到这一点?


问题答案:

您可以使用此代码段的快速实现。

public static String removeConsecutiveChars(String str) {

        if (str == null) {
            return null;
        }

        int strLen = str.length();
        if (strLen <= 1) {
            return str;
        }

        char[] strChar = str.toCharArray();
        char temp = strChar[0];

        StringBuilder stringBuilder = new StringBuilder(strLen);
        for (int i = 1; i < strLen; i++) {

            char val = strChar[i];
            if (val != temp) {
                stringBuilder.append(temp);
                temp = val;
            }
        }
        stringBuilder.append(temp);

        return stringBuilder.toString();
    }


 类似资料:
  • 问题内容: 我想删除的特殊字符,如多次出现,,,从我的java字符串由单下划线。我试过了 并且似乎用下划线替换了连续的相同类型的特殊字符,但否则不起作用。例如: 变成 (下划线有2个。)但是应该是。 同样对于失败的情况。我也尝试使用regex并做了一个正则表达式 但这仍然无济于事。我该如何实现? 问题答案: 注意,这是对与第一个捕获组匹配的 内容 的反向引用。要实际匹配字符类中的一个或多个任何字符

  • 我试图执行一个超文本标记语言文本的清理,我想替换多个八货币的

  • 问题内容: 我想,以取代所有和使用 但我不喜欢我的代码… 有没有比以下方法更有效的方法: ? toLowerCase()就在那里,因为我也希望它也小写… 问题答案: 编辑: 使用正则表达式,并且在字符类内部使用仅识别一个而不是任何字符。

  • 对sed来说有点新。我制作了一个脚本来替换文件中的各种文本。例如,文件

  • 我真的不喜欢这样链接命令。有没有另一种方法在一个做?

  • 问题内容: 在Java中,可以使用哪个正则表达式来替换它们,例如: 之前:aaabbb之后:ab 之前:14442345之后:142345 谢谢! 问题答案: 在Perl中 可以做到这一点,我假设如果Java具有与Perl兼容的正则表达式,它也应该可以工作。 编辑:这是什么意思 编辑:正如其他人指出的那样,Java中的语法将成为 记住要逃避\ 1