特殊文字を削除したいのですが
方法1.string.replace()
で特殊文字を削除する
#!/usr/local/env python3
string_value = "@Hello@and#Welcome%to&Python"
# `"` ダブルクォートの手前をエスケープ`\`します
for char in "!@#$%^&*()_+-={}[]|\:;\"'<>,.?/~`":
string_value = string_value.replace(char, " ")
print(string_value)
# Hello and Welcome to Python
方法2.join()
とfilter()
を使って特殊文字列を削除する
#!/usr/local/env python3
string_value = "@Hello@and#Welcome%to&Python"
new_string_value = "".join(filter(str.isalnum, string_value))
print(new_string_value)
# HelloandWelcometoPython
方法3.正規表現を使って特殊文字を削除する
#!/usr/local/env python3
string_value = "@Hello@and#Welcome%to&Python"
import re
pattern = r"[^\w\s]"
new_string_value = re.sub(pattern, " ", string_value)
print(new_string_value)
# Hello and Welcome to Python
方法4.isalnum()
とisspace()
をfor
でループさせて特殊文字を除去する
#!/usr/local/env python3
string = "@Hello@and#Welcome%to&Python"
new_string = ""
for char in string:
# 英数字、または空白か?
if char.isalnum() or char.isspace():
new_string += char
print(new_string)
# HelloandWelcometoPython
Python 文字列から特殊文字を終了または削除するには、文字列のreplace()
メソッド、join()
およびfilter()
メソッド、正規表現、またはfor
で実現可能です。