我偶然发现了这个话题,因为我正在开发一个控制台应用程序,目前在使用Cygwin运行它的Windows机器上(但它必须在某个阶段也在Linux BASH中运行)。 / p>
最初我想做的就是应用颜色,所以我发现了所有这些"(ESC)[31m ...(ESC)[1m" type directives ...用于前景色和背景色。
但是在测试过程中,我也希望能够剥离这些代码并进入非标记"文本。使用其他形式的标记(特别是HTML),有可用的工具。这些控制台代码有这样的东西吗?谷歌搜索我在C中发现了一些东西,但在Python中却找不到东西。
我认为这里涉及的代码(对于Cygwin和BASH)是" ANSI"控制代码......但我不确定。有人可能会证实这一点吗?
如果没有一个完整的解析器,覆盖所有情况的正则表达式将会有所帮助。如果有必要的话,我会尝试从文档中自己滚动一个,但是从专家那里得到一个现成的很好......
答案 0 :(得分:1)
查看众所周知的jansi库 - 尤其是AnsiString:
AnsiString ansiString = new AnsiString("string with escape codes");
String plainString = ansiString.getPlain();
您还可以查看Eclipse的ansi-econsole插件。它是一个Eclipse插件,可以理解ANSI转义序列,为Eclipse控制台输出着色。