그래서 문제가 있습니다. 나는 로거에서 몇 가지 물건을 잡는거야, 그리고 출력은 다음과 같은 : 내가 그 성가신 ASCII 색상 코드를 제거 (또는 그들을 구문 분석) 방법을 알아야ASCII 색상 코드 제거
11:41:19 [INFO] ←[35;1m[Server] hi←[m
.
그래서 문제가 있습니다. 나는 로거에서 몇 가지 물건을 잡는거야, 그리고 출력은 다음과 같은 : 내가 그 성가신 ASCII 색상 코드를 제거 (또는 그들을 구문 분석) 방법을 알아야ASCII 색상 코드 제거
11:41:19 [INFO] ←[35;1m[Server] hi←[m
.
세미콜론으로 구분 숫자 목록, m
. (. https://stackoverflow.com/a/9943250/978917 참조)이 경우에는 서면으로 제거 할 수 있습니다 :
final String msgWithoutColorCodes =
msgWithColorCodes.replaceAll("\u001B\\[[;\\d]*m", "");
합니다. . . 또는 로그를 검사 할 때 less -r
을 사용하여이 기능을 이용할 수 있습니다. :-)
(주의 : 이것은 다른 ANSI 이스케이프 시퀀스를 찾은 경우 조금 일반화하는 것이 좋습니다. 정규 정규식은 \u001B\\[[;\\d]*[ -/]*[@-~]
이 될 것입니다. http://en.wikipedia.org/wiki/ANSI_escape_code을 찾을 수 있습니다. 도움이 될 수 있습니다.)
시퀀스들은 다음 조사 맹 글링이 일어난 정확히 파악해야 어떤 방법 —에 엉망이 된 한 경우입니다 — 손상되지을 경우.
이 정규식에 대한 형식을 바탕으로
replaceAll("\\d{1,2}(;\\d{1,2})?", "");
가 여기 방법 :가 그대로 있다면, 그들은 ESC (U+001B
) 플러스 [
플러스로 구성되어야 http://bluesock.org/~willg/dev/ansi.html
@ thefiscster510 : 환영합니다! – ruakh
좋지만 일부 코드는 여전히 존재합니다.'[2K' – MariuszS
@MariuszS : 예, 나는 괄호로 묶은 주석 (두 번째에서 마지막 단락까지)에서이를 설명했습니다. – ruakh