Python 연습 6: 문자열에서 특수 문자 제거
의문
주어진:
str1 = "/*Jon is @developer & musician"
예상 출력:
"Jon is developer musician"
내 시도
str_1 = "/*Jon is @developer & musician"
x = "/*@&"
y = " "
my_table = str_1.maketrans(x,y)
print(str_1.translate(my_table))
Jon is developer musician
translate() 및 maketrans() 메서드의 구문
maketrans() 메서드는 translate() 메서드가 사용할 매핑 테이블을 반환합니다.
translate() 메서드 구문
str.translate(mapping table)
maketrans() 구문
string.maketrans(x, y, z)
string.maketrans(dictionary)
string.maketrans(same length string, same length string)
string.maketrans(same length string, same length string, another string)
솔루션 추천
해결 방법 1: translate() 및 maketrans() 메서드 사용
import string
str_1 = "/*Jon is @developer & musician"
new_str = str_1.translate(str_1.maketrans('', '', string.punctuation))
print(new_str)
해결 방법 2: re.sub() 메서드 사용
import re
str_1 = "/*Jon is @developer & musician"
# replace special symbols with ''
new_str = re.sub(r'[^\w\s]', '', str_1)
print(new_str)
r'[^\w\s]'
--
[]
문자 집합을 나타내는 데 사용됩니다. ^
의 []
이고 첫 번째 문자인 경우 세트에 없는 모든 문자가 일치한다는 의미입니다내 반성
그래서 maketrans()와 translate() 메서드는 물론 정규표현식도 배웁니다. re 모듈을 사용하면 코딩이 더 쉬워 보이지만 정규식 구문은 읽기에 그리 간단하지 않습니다.
신용 거래
Reference
이 문제에 관하여(Python 연습 6: 문자열에서 특수 문자 제거), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mathewchan/python-exercise-6-remove-special-character-in-string-5400텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)