简而言之,我试图用空格替换行内单词中的所有标点符号。
例如,文本doc输出一旦处理,就不会像这样标点。
M!我要踩油灰。我做过我做过的腻子
tat Shsssssssssh我在搜寻wabbits h He He Its
搜寻wabbits的好天气Heh Heh Heh停止其兔子
huntin season Huntin Wabbits权威指南101种制作方法
兔子
无需更改,它看起来像这样。
来自question5.txt的文字
M!我要踩油灰。我做到了!我做到了!我拉油灰了
达Shsssssssssh ...我在寻找乞abb。嘿嘿嘿嘿...
美好的一天,寻找猎鹰! ...嘿嘿嘿...停下来-是兔子
狩猎季节! Huntin Wabbits:权威指南101种制作方法
兔子
这是一个练习,所以被告知要使用.replace和for循环。
import string
infile = open('question5.txt', 'r')
lines = infile.readlines()
lines = str(lines)
for words in lines:
for letters in words:
letters.replace(string.punctuation,' ')
print(letters)
在解决问题方面的任何帮助将不胜感激。
请注意,在您提出建议和进行一些研究之后,如果有更多人关注结果,我将在几个小时后得出结论。谢谢大家Waves
import string
infile = open('question5.txt', 'r')
lines = infile.readlines()
def word_count(list):
count = 0
list = str(list)
for lines in list:
list = list.replace('.',' ')
list = list.replace(',',' ')
list = list.replace('-',' ')
split = list.split()
print (split)
for words in split:
count = count + 1
return count
for line in lines:
count = word_count(line)
print(count)
infile.close()
最佳答案
这个更好:
import string as st
trans = st.maketrans(st.punctuation, ' '*len(st.punctuation))
with open('question5.txt', 'r') as f:
for line in f:
print line.translate(trans)
关于python - 在for循环中使用string.punctuation替换字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16768219/