读取文本文件并删除Python中除字母和空格外的所有字符

时间:2018-12-10 18:10:29

标签: python python-3.x

我正在尝试删除除字母以外的所有字符以及空格。
这就是我的代码。
其中sampletext.txt包含具有多个字符的单词,我将结果写在remove.txt中。 当我运行这段代码时。我在removeed.txt中仅获得空白

import re
import sys
filename = open("removed.txt",'w')
sys.stdout = filename
from string import ascii_letters
allowed = set(ascii_letters + ' ')
with open("/Desktop/stem_analysis/sampletext.txt", 'r') as f:
    answer = ''.join(l for l in f if l in allowed)
print(answer)


我的代码有什么问题

3 个答案:

答案 0 :(得分:1)

  

我正在尝试删除除字母以外的所有字符以及   空格。

我不确定您要做什么,但是要删除除字母之外的所有其他字符以及空格,您可以使用类似的方法:

temp = sorted(inord)
return min([1 if i==j else 0 for i,j in zip(temp,inord)])

正则表达式说明

enter image description here


Regex Demo

答案 1 :(得分:0)

这将为您提供所有不在字母表中的字符。添加另一个if语句以检查空格。

def letters(input):
  return ''.join([c for c in input if (c.isalpha()==False)])

答案 2 :(得分:0)

类似这样

导入 re.sub(r'^ [a-zA-Z]','',your_string)

应该按照您的要求进行操作,但空格部分除外。我相信您也可以弄清楚如何将其添加到正则表达式中。