Java占位符已经给定String

时间:2015-01-02 13:26:42

标签: java string replace

因此,对于我目前的Bukkit(Minecraft)插件,我必须使用ItemStacks的名字。 我做了这些名字

item.getItemMeta().getDisplayName();

由于项目代表玩家,因此他们拥有玩家的名字。但不幸的是,还有颜色代码。 接收名称后得到的结果就像“§7Baustein”,其中“§7”是颜色代码,“Baustein”是玩家的名字。

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

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

有没有办法实现replaceAll("§" + the digit behind, "");

,而不是检查所有可能性

我已经检查了this之类的问题,但要么我没有得到它,要么就是不包括我的答案。

也许有人可以帮助我?

2 个答案:

答案 0 :(得分:1)

如果它总是与您要删除的前两个字符完全相同,则可以使用:

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

答案 1 :(得分:1)

是。查看正则表达式。

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

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