如何在java中删除字符串中的所有垃圾字符

如何在java中删除字符串中的所有垃圾字符,java,Java,我有一根像下面这样的线 String s="[01;31m[KINACTIVE[m[K=-1"; 我需要删除所有那些垃圾字符[01;31m] 我的实际输出为INACTIVE=-1,但使用它添加了一些垃圾。如何使用java删除。您看到的似乎是,它们用于格式化控制台输出,或者至少这是一般的想法 我以前使用过top正则表达式从Travis CI日志中删除ANSI代码。您看到的似乎是,它们用于格式化控制台输出,或者至少这是一般的想法 我以前使用过top正则表达式从Travis CI日志中删除ANSI代

我有一根像下面这样的线

String s="[01;31m[KINACTIVE[m[K=-1";
我需要删除所有那些垃圾字符[01;31m]


我的实际输出为INACTIVE=-1,但使用它添加了一些垃圾。如何使用java删除。

您看到的似乎是,它们用于格式化控制台输出,或者至少这是一般的想法


我以前使用过top正则表达式从Travis CI日志中删除ANSI代码。

您看到的似乎是,它们用于格式化控制台输出,或者至少这是一般的想法


我以前使用过top正则表达式从Travis CI日志中删除ANSI代码。

第一个问题,如果您的实际输出是
INACTIVE=-1
,您是如何以及从何处获得这些垃圾字符的?您称之为垃圾字符是什么?我想他指的是他需要的输出是INACTIVE=-1您的问题不是删除垃圾字符为什么要添加垃圾字符我觉得很奇怪。你到底想要实现什么?你想要删除还是想要避免?第一个问题,如果你的实际输出是
非活动=-1
,你是如何以及从哪里获得这些垃圾字符的?你叫什么垃圾字符?我想他是说他需要的输出是非活动的=-1你的问题不是删除k字符..这就是为什么你要添加垃圾字符。我觉得。你到底想要实现什么?你想要删除还是想要避免?+1用于描述什么是“垃圾”是。但是,如果可能的话,我建议只获取没有垃圾/控制序列的输出作为更好的方法。@user2864740在现实世界中,没有垃圾,您可能无法获取一些数据。知道如何清理混乱的数据很好:)谢谢您的回答,但常规的exp无法使用java@Ramakrishna 当然,它需要根据Java的细微差别进行转换。还要确保您的字符串确实包含ESC字符,并且在复制/粘贴或加载字符串时没有丢失。@Ramakrishna尝试使用此
\x1B\[([0-9]{1,2}(;[0-9]{1,2})?[m | K]
,您可能需要执行全部替换(或类似操作).+1用于描述“垃圾”是什么是。但是,如果可能的话,我建议只获取没有垃圾/控制序列的输出作为更好的方法。@user2864740在现实世界中,没有垃圾,您可能无法获取一些数据。知道如何清理混乱的数据很好:)谢谢您的回答,但常规的exp无法使用java@Ramakrishna 当然,它需要根据Java的细微差别进行转换。还要确保您的字符串确实包含ESC字符,并且在复制/粘贴或加载字符串时没有丢失。@Ramakrishna尝试使用此
\x1B\[([0-9]{1,2}(;[0-9]{1,2})?[m | K]
,您可能需要执行全部替换(或类似操作)。