我想知道如何从用户输入中删除标点符号并从输入中的单词创建一个集合。到目前为止,我有这个。
input_set = set(self.entry.get().lower().split(' '))
答案 0 :(得分:4)
Python2:
>>> from string import punctuation
>>> s = 'sfda%$$sdafd dasf564%^%^, hgghg%#56'
>>> set(s.translate(None, punctuation).split())
set(['hgghg56', 'dasf564', 'sfdasdafd'])
Python3:
from string import punctuation
s = 'sfda%$$sdafd dasf564%^%^, hgghg%#56'
tab = dict.fromkeys(map(ord, punctuation))
print (set(s.translate(tab).split()))
答案 1 :(得分:4)
这是使用正则表达式的绝佳场所:
import re
re.split(r'\W+',str)
取决于您认为标点符号的内容,您可能希望将'\ W'更改为其他字符类或字符组。
答案 2 :(得分:0)
删除标点符号:请参阅Best way to strip punctuation from a string in Python
创建一组字词:set(sentence.split(' '))