RegEx不会从字符串中删除字符

时间:2019-11-03 03:13:59

标签: java regex

我有一个由几个逗号组成的字符串,还有几个以'§'符号和一个字符形式的颜色格式代码(例如,“§a§6Text,here”应变为“ Text here”)。我想删除所有逗号,也要删除所有颜色格式。我使用了这段代码,但是当它运行时,它最终并没有删除格式,而是变成了一种神秘字符,它会根据文本的不同而变化编辑器我在(记事本/ ++中的“?”,Excel中的“�f�f�”)中打开它。

我正在运行Java 11,并且在notepad ++中检查了RegEx,它似乎可以正常工作。 到目前为止,我的代码成功删除了逗号,但没有删除颜色格式。

for (String entry : lineEntries) {
                String entryx = entry.replace(",", "");
                entryx = entryx.replace("§.", "");
                refinedEntries.add(entryx);
            }

如果我输入“§f§f§6Spicy,Special”,我希望它返回“ SpicySpecial”

编辑:修复了一个单独的错误,但仍然很重要,但没有解决问题。

1 个答案:

答案 0 :(得分:1)

代码不起作用,因为在

               String entryx = entry.replace(",", "");

您将从条目中删除每个逗号,它将在entryx中返回结果 然后您应该使用第一个操作的结果(entryx)删除所有特殊符号 所以您的代码应该像这样

for (String entry : lineEntries) {
            String entryx = entry.replace(",", "");
            entryx = entryx.replace("§", "");
            refinedEntries.add(entryx);
        }