如果它们是完整无缺的,则应由ESC(
U+001B)
[加加分号分隔的数字列表加组成
m。(请参阅http://codingdict.com/questions/131416。)在这种情况下,您可以通过以下方式删除它们:
final String msgWithoutColorCodes = msgWithColorCodes.replaceAll("u001B\[[;\d]*m", "");。。。或者您可以通过
less -r检查日志来利用它们。:-)
(注意:这是特定于颜色代码的。如果您还找到其他ANSI转义序列,则需要将其概括一下。我认为是一个相当普通的正则表达式
u001B\[[;\d]*[-/]*[@-~]。您可以找到http://en.wikipedia.org / wiki /
ANSI_escape_pre会有帮助。)
如果序列 不是 完整的-也就是说,如果它们已经以某种方式进行了修饰-那么您将必须进行调查并弄清楚到底发生了什么修饰。



