情况:
我有一个像这样创建的字符串
\033[32m\033[44mP"+characterID+"\033[0m"
P + characterID
像绿色一样问题:
string P + characterID
[32m[44mP"+characterID+"[0m
现在:
有什么建议吗?
答案 0 :(得分:0)
如果您正在谈论Swing的JLabel或AWT - 您不能像在控制台中那样使用ANSI转义码。相反,您必须为该JLabel设置前景色或背景色。像这样:
JLabel label = new JLabel("P" + characterID);
label.setColor(Color.GREEN);
编辑:如果您已经有“编码”字符串,那么您应该想出一个只找到“真实”数据并忽略转义码的正则表达式。
假设您只有P
,M
和T
前缀且characterID
是十进制数,正则表达式应该是这样的:
String realData = "\\033[32m\\033[44mP111\\033[0m".replace("[^PMT]\\d+", "");
除了你需要的数据之外,这应该删除所有内容。