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”
编辑:修复了一个仍然很重要的单独错误,但没有解决问题。
解决方案
该代码不起作用,因为在
String entryx = entry.replace(",", "");
你正在从 entry 中删除每个逗号,它会在 entryx 中返回结果,并且在你应该使用第一个操作的结果之后,即 entryx 来删除每个特殊符号所以你的代码应该是这样的
for (String entry : lineEntries) {
String entryx = entry.replace(",", "");
entryx = entryx.replace("§", "");
refinedEntries.add(entryx);
}
推荐阅读
- python - Twitter 使用 Selenium Python 向下滚动所有帖子
- java - spring-boot用jackson改变json响应结构
- karate - 在空手道 DSL 中,有没有办法为“给定”步骤定义自定义关键字
- javascript - Node.js 异步/等待不工作
- django - 访问 Python 列表
- oracle12c - 使用 Corda Enterprise Database Manager 工具迁移到 Oracle 无法连接
- machine-learning - CNN 中先前的 Activation Map 如何影响下一个 Activation Map
- c# - Asp.Net Core 2.x HttpContext.Current 不可用
- typo3 - 如何在 Typo3 多个子域中使用登录会话?
- audio - tinyalsa 时序和 PCM_MMAP 的问题