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

Python의 문자열에서 자음을 삭제하는 방법은 무엇입니까?

<시간/>

이 문제에는 정규식을 사용하는 것이 가장 쉽습니다. "|"로 여러 문자를 구분할 수 있습니다. re.sub(chars_to_replace, string_to_replace_with, str)를 사용합니다. 예를 들면:

>>> import re
>>> consonants = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z']
>>> re.sub('|'.join(consonants), "", "Hello people", flags=re.IGNORECASE)
"eo eoe"

참고:[]를 사용하여 정규식에서 바꿀 문자 그룹을 만들 수도 있습니다.

모음만 유지하고 다른 모든 문자를 제거하려면 더 쉬운 버전을 사용할 수 있습니다. 공백, 숫자 등도 제거됩니다. 예를 들어,

>>> import re
>>> re.sub('[^aeiou]', "", "Hello people", flags=re.IGNORECASE)
"eoeoe"

다음과 같이 자음을 필터링할 수도 있습니다.

>>> consonants = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z']
>>> s = "Hello people"
>>> ''.join(c for c in s if c.lower() not in consonants)
'eo eoe'