replace()와 정규표현식을 사용하여 문자열에서 특정 문자를 제거할 수 있습니다.
1. replace()를 이용하여 특정 문자 제거
replace(old, new)
는 문자열에서 old에 해당하는 문자열을 new로 변경합니다. replace()를 이용하면, 어떤 문자 또는 문자열을 ''
로 변환하여 제거할 수 있습니다.
아래 예제는 문자열에서 ','
를 모두 ''
로 변환하여 제거하는 예제입니다.
str = "Hello, World"
new_str = str.replace(',', '')
print(new_str)
Output:
Hello World
만약 특정 문자를 제거하고, 대신 다른 문자를 추가로 입력하고 싶다면 아래와 같이 문자열을 변환하시면 됩니다.
str = "Hello, World"
new_str = str.replace('World', 'Python')
print(new_str)
Output:
Hello, Python
2. 정규표현식(Regex)을 이용하여 특정 문자 제거
sub(regex, replacement, str)
는 문자열 str에서 regex의 패턴을 찾고, 패턴과 일치하는 내용을 replacement로 변경하는 함수입니다.
replace()
와 같은 방식으로, 특정 문자 또는 문자열을 ''
으로 변환하여 삭제할 수 있습니다.
아래 예제는 문자열에서 ,
를 ''
으로 변환하여 삭제하는 예제입니다.
import re
str = "Hello, World, Python"
result = re.sub(",", "", str)
print(result)
Output:
Hello World Python
위의 예제는 정규표현식의 기능을 사용하지 않고 문자열 매칭만 사용하였는데요, 정규표현식을 기능을 조금 더 사용하면 여러 패턴의 문자열을 찾아서 제거하는 것도 구현할 수 있습니다.
아래 예제는 ello
, orld
, ython
에 해당하는 문자열을 찾고 제거합니다.
import re
str = "Hello, World, Python"
result = re.sub("ello|orld|ython", "", str)
print(result)
Output:
H, W, P
3. 알파벳, 숫자를 제외한, 다른 특수 문자들은 모두 제거
아래 예제는 알파벳, 숫자만 남기고 특수문자, 다른 언어의 문자들은 모두 제거하는 예제입니다.
(정규표현식 패턴에서 [^a-zA-Z0-9]
는 알파벳 및 숫자가 아닌 문자들을 의미합니다.)
import re
str = "Hello!@$% World, Python 12345 파이썬"
result = re.sub("[^a-zA-Z0-9]", "", str)
print(result)
Output:
HelloWorldPython12345