Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬의 문자열에서 ANSI 이스케이프 시퀀스를 어떻게 제거합니까?

<시간/>

정규식을 사용하여 Python의 문자열에서 ANSI 이스케이프 시퀀스를 제거할 수 있습니다. re.sub()를 사용하여 이스케이프 시퀀스를 빈 문자열로 대체하기만 하면 됩니다. ANSI 이스케이프 시퀀스를 제거하는 데 사용할 수 있는 정규식은 '(\x9B|\x1B\[)[0-?]*[ -\/]*[@-~]'입니다.

예를 들어,

import re
def escape_ansi(line):
    ansi_escape =re.compile(r'(\x9B|\x1B\[)[0-?]*[ -\/]*[@-~]')
    return ansi_escape.sub('', line)
print escape_ansi(line = '\t\u001b[0;35mSomeText\u001b[0m\u001b[0;36m172.18.0.2\u001b[0m')
                                 

이것은 출력을 줄 것입니다:

 '\tSomeText                                  172.18.0.2'