0

文字列から一貫性のない文字を除外しようとしています。

現在私はこれを持っています..Pythonで

name = re.sub('([^a-zA-Z0-9  -\'!$&])',' ', name)

しかし、'()'角かっこ'/'バックスラッシュやフォワードスラッシュなどの文字を含めようとしています。どういうわけかそれは動作しません。どなたか見ていただけませんか。

4

2 に答える 2

1

非正規表現ソリューション

accepted = '''!$*()\/.,>-_=+<:;'"?|'''
allowed = string.digits + string.letters + accepted
filter(allowed.__contains__, name)

これにより、英数字以外の文字列名がフィルター処理され、 acceptedにリストされている文字がフィルター処理されなくなります

于 2013-03-09T10:50:44.070 に答える
0
name = re.sub('([^a-zA-Z0-9\[\]\(,\)\+\/ \\-\'!$&])',' ', name)
于 2013-03-09T10:05:08.337 に答える