python translate() 함수 유니코드 간단 사용법.

translate() 함수의 유니코드 사용법을 자꾸 잊어버려서 남겨둔다.

유니코드 문자열에서 특정 문자들을 없애거나 다른 글자로 바꿔치기 해야 할 때가 있다. 예를 들어 str 에 들어있는 글자들 중 ‘흠’, ‘ ‘, ‘.’ 문자를 지우고 싶다.

>>> str = u”한글은 잘 되나요…? 흠..”

 

삭제할 문자들을 문자열에 넣는다. 여기서는 ‘흠’, ‘.’, ‘ ‘ 을 지울 것이다.

>>> delch = u’.흠 ‘

여기서는 위의 문자들과 널 문자를 사전으로 만든다. ord() 함수를 이용하여, 유니코드의 문자 코드값을 얻어 키로 하고, ”를 사전키의 값으로 넣는다.

>>> delmap = dict( (ord(char), u”) for char in delch )
>>> delmap
{55136: u”, 32: u”, 46: u”}

 

생성된 맵을 이용하여 str에 들어있는 위의 문자들을 널 문자로 치환한다.

>>> print “[%s]” % str.translate(delmap)
[한글은잘되나요?]

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중