반응형
문자열 목록에서 모든 유형의 이스케이프 시퀀스를 제거하고 싶습니다. 어떻게 할 수 있습니까? 입력:
['william', 'short', '\x80', 'twitter', '\xaa', '\xe2', 'video', 'guy', 'ray']
산출:
['william', 'short', 'twitter', 'video', 'guy', 'ray']
해결 방법
이 같은?
>>> from ast import literal_eval
>>> s = r'Hello,\nworld!'
>>> print(literal_eval("'%s'" % s))
Hello,
world!
수정 : 좋습니다. 원하는 것이 아닙니다. @Sven Marnach가 설명했듯이 문자열에는 실제로 이스케이프 시퀀스가 포함되어 있지 않기 때문에 일반적으로 원하는 작업을 수행 할 수 없습니다. 그것들은 문자열 리터럴의 표기법입니다.
목록에서 비 ASCII 문자로 모든 문자열을 필터링 할 수 있습니다.
def is_ascii(s):
try:
s.decode('ascii')
return True
except UnicodeDecodeError:
return False
[s for s in ['william', 'short', '\x80', 'twitter', '\xaa',
'\xe2', 'video', 'guy', 'ray']
if is_ascii(s)]
참조 페이지 https://stackoverflow.com/questions/8115261
반응형
'파이썬' 카테고리의 다른 글
파이썬 특정 사용자 입력까지 반복 (0) | 2020.09.26 |
---|---|
파이썬 Python 코드를 Arduino (Uno)로 "컴파일"하는 방법이 있습니까? (0) | 2020.09.26 |
파이썬 SQLite와 Python-fetchone ()을 사용하여 사전을 반환합니까? (0) | 2020.09.26 |
파이썬 Python 조건부 변수 설정 (0) | 2020.09.26 |
파이썬 TypeError : 'float'개체는 반복 할 수 없습니다. (0) | 2020.09.26 |
댓글