我正在尝试用换行符替换文本中的所有短划线,但它无法正常工作。为什么不?
f = open('phrases.txt').readlines()
f = [f.strip('\n').lower() for f in f]
f = f.replace('- ','\n')
g = open('text.txt').read()
for phrase in f:
if phrase in g:
print(phrase)
答案 0 :(得分:0)
替换应该应用于字符串,而不是列表。同样使用一个变量名称(即f
)进行翻转不是一个好习惯:
f = open('conditions.txt').readlines()
f = [a_line.strip('\n').lower().replace('-', '\n') for a_line in f]
答案 1 :(得分:0)
file = open('conditions.txt','r')
lines = file.readlines()
text = "".join(lines)
finaltext = text.replace("-","\n")
答案 2 :(得分:0)
我刚才遇到了同样的问题,但问题不在于语法问题与我遇到的具体角色有关。
确保您遇到的角色是短划线-
,而不是unicode em dash —
甚至是unicode长划线▬
而不是使用string.replace('-', '')
我必须使用string.replace(u'\u2014', '')
要检查,请打印角色的.encode()
。真正的短划线将显示b'-'