我有一个像这样的文本文件:
Sally .....去商店!!#,买了一个苹果和一个百吉饼.. @@ 然后她回家了。
如何删除所有多余的内容,例如“ ...”,“ ..”和“ @”,并将单词作为列表中的项?
我尝试过
filename.rstrip().split()
答案 0 :(得分:0)
这应该有效:
if(req.query.format!==undefined && req.query.format=="csv")
本质上,
答案 1 :(得分:0)
使用正则表达式。在python中,这是通过re
模块完成的。
[^a-zA-Z ]
表示不是字母(或空格)的字符。您可以使用re.sub
将它们全部替换为空格:
import re
def remove_non_letters(string):
return re.sub("[^a-zA-Z] ", " ", string).split()
编辑:
使用
读入文本文件with open('data.txt', 'r') as file:
string = file.read()
result = remove_non_letters(string)
result
是您要查找的列表。
答案 2 :(得分:0)
我将您提到的内容放在文件中,并将其命名为“ mix_char.txt”。我添加了另外两个随机行以测试新行。这是文件内容的外观:
Sally ... went .. to the store !!# and bought an apple and a bagel..@@ Then she went home.
Sally ... @#$#%$#%$%# went ..
to .......A Store #$%#@$in 4567downtown
然后我使用下面的代码片段来读取文件,然后使用正则表达式来完成工作: 考虑到您只在寻找包含字母的单词:
re.sub->用于将一个模式替换为另一个
[^ a-zA-Z \ n] *'->查找所有不包含字母,空格和换行符的模式,然后将其替换为空(例如:删除它们)
split:将新创建的字符串转换为列表。
import re
with open('mix_char.txt') as fh:
str = fh.read()
print (re.sub('[^a-zA-Z \n]*','',str).split())
您可以根据需要将修改后的数据写回到另一个文件。