【问题标题】:Java Placeholder in already given String已给定字符串中的 Java 占位符
【发布时间】:2015-02-28 19:58:54
【问题描述】:

所以对于我当前的 Bukkit (Minecraft) 插件,我必须使用 ItemStacks 的名称。 我通过这样做得到这些名字

item.getItemMeta().getDisplayName();.

由于物品代表玩家,它们有玩家的名字。但不幸的是,也有颜色代码。 我收到名字时得到的结果类似于“§7Baustein”,其中“§7”是颜色代码,“Baustein”是玩家的名字。

现在颜色代码也可以是“§a”或“§3”或类似的东西。要仅获取玩家的姓名,我必须从我得到的字符串中删除该颜色代码。

我知道如何删除“§”,因为它总是一样的:string.replaceAll("§", "");。但是后面还有这个十六进制数字,具体是什么数字我也不知道。

除了检查所有可能性之外,有没有办法找到replaceAll("§" + the digit behind, "");

我已经查看了类似this 的问题,但要么我没有真正明白,要么就是没有包括我的答案。

也许有人可以帮助我?

【问题讨论】:

标签: java string replace


【解决方案1】:

如果它始终是您要删除的前两个字符,您可以使用:

public String removeColorCode(String s){
return s.substring(2);
}

【讨论】:

    【解决方案2】:

    是的。查看正则表达式。

    这个

    string.replaceAll("§[0-9a-fA-F]", "")
    

    将从您的字符串中删除 § 和一个十六进制数字。

    【讨论】:

      猜你喜欢
      • 2013-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-23
      • 2016-10-24
      • 2013-03-01
      • 1970-01-01
      • 2011-08-16
      相关资源
      最近更新 更多