2015-07-09 6 views
-1

Я пытаюсь заменить все тире в тексте на новые строки, но он не работает. почему нет?Как заменить символ штриховки на строку новой строки в строке?

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) 
+3

Просьба представить более подробную информацию о том, что вы пробовали, ошибку вы получили, и какой результат вы ожидали. Тем не менее, 'replace()' не работает в 'list'. – TigerhawkT3

ответ

0

заменить следует применять к строкам, а не к списку. Кроме того, используя одно имя переменной (т.е. f) для Everthing не является хорошей практикой:

f = open('conditions.txt').readlines() 
f = [a_line.strip('\n').lower().replace('-', '\n') for a_line in f] 
+0

OP вероятно хочет '[строка для physical_line в строках для строки в physical_line.rstrip ('\ n'). Lower(). Split ('-')]' вместо. – jfs

0
file = open('conditions.txt','r') 
lines = file.readlines() 
text = "".join(lines) 
finaltext = text.replace("-","\n") 
+0

Просьба представить более подробную информацию о том, почему это полезно. – Wtower

Смежные вопросы