我的strip()函数没有删除

时间:2017-04-27 18:03:03

标签: python python-3.x

我的意图是拥有大量文本并首先将其翻译成所有小写。 (它的作用)然后,删除文本中的标点符号。(它没有)最后,打印出所用单词的频率。 (它打印出测试。并测试两种不同的东西。)

from collections import Counter



text = """
Test. test test. Test Test test. 
""".lower().strip(".")



words = text.split()
counts = Counter(words)
print(counts)

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:1)

您需要.replace('.', '')代替strip

答案 1 :(得分:0)

您可以拆分列表中的文本然后去除标点符号,或使用roganjosh的建议,即使用.replace('。',''):

方式1:

text = "Test. test test. Test Test test."
word = text.split()
the_list = [i.strip('.') for i in word]
counts = Counter(the_list)

请注意,对于.strip(),只会删除字符串末尾的标点符号,而不是中间符号。

方式2:

new_text = text.replace('.', '')
counts = Counter(new_text)

答案 2 :(得分:0)

如果您想要的只是提取单词(用于计数或任何其他原因),请使用正则表达式<canvas baseChart [datasets]="barChartData" [labels]="barChartLabels" [options]="barChartOptions" [legend]="barChartLegend" [chartType]="barChartType"> </canvas> (或re.findall如果文本很大并且您不想收集所有记忆中的匹配):

re.finditer

请注意,使用非ASCII文本可能会更棘手(并且不会考虑,例如带有破折号的单词)。