【发布时间】:2019-07-04 08:44:40
【问题描述】:
如何使用 Python 将特殊字母/字符保存在文本文件中?
输入文本文件:
abcÃ/cdéf@-www
我想去掉符号,但保留字母和特殊字母,符号表示~!@#$%^*()_+{}<>:"|等等。在我尝试运行我的代码之后,这是我得到的:
输出文本文件:
abc cd f www
符号已被删除并替换为我想要的空格,但特殊字母已被删除并替换为我不想要的空格。有什么办法可以去掉符号,只保留特殊字母?
预期的输出文本文件:
abcà cdéf www
这是我的代码:
string = open('abc.txt', encoding='utf-8').read()
new_str = re.sub('[^a-zA-Z0-9\n\.]', ' ', string)
open('abc.txt', 'w', encoding='utf-8').write(new_str)
【问题讨论】:
-
new_str = ''.join([char fro char in string if char not in "~!@#$%^*()_+{}<>:\"|"])可能不是最好的解决方案,但仍然是一个可行的解决方案 -
@xiidref 这是一个解决方案,还有一个
isalpha方法可以在这里工作:"àbc".isalpha() # >> True -
您是否尝试删除\n\。在你的代码中?
-
@JuliusLimson 是的,我试过了