Форум сайта python.su
есть текст , например :
“мама мыла раму в больнице”
надо чтоб слово “мама” и “рама” заменялось на что то например “пробел”
если ето с помощью .replace то как ?
или надо писать цикл ?(есть ли вариант проще, чтоб не засорять програму=))
Офлайн
Что значит не засорять прогармму? Упаковать все в никому непонятный код, чтобы все ломали голову, что программист здесь имел ввиду? Наиболее разумно, на мой взгляд будет именно в цикле:
i = 'мама мыла раму в больнице'
for word in ['мама', 'раму']:
i.replace(word, ' ')
Отредактировано (Дек. 29, 2009 12:23:12)
Офлайн
используй регулярные выражения
Офлайн
sypper-pitЧестно говоря не понял, зачем ему re.split? Помоему он хочет заменить вхождения подстроки в строке, а не разбить строку по регулярному выражению.
используй регулярные выражения
Офлайн
expee
Что значит не засорять прогармму? Упаковать все в никому непонятный код, чтобы все ломали голову, что программист здесь имел ввиду? Наиболее разумно, на мой взгляд будет именно в цикле:
Код:
i = ‘мама мыла раму в больнице’
for word in :
i.replace(word, ‘ ’)
Где тут засорение? Можешь, коенчно через re.sub. Сэкономишь 2 строчки.
Отредактированно expee (Сегодня 14:23:12)
# -*- coding: utf-8 -*-
i = 'мама мыла раму в больнице'
for word in ['мама', 'раму']:
i.replace(word, ' ')
print i.replace(word, ' ').encode('cp1251')
мыла раму в больнице
мама мыла в больнице
Офлайн
expeeтру
sypper-pit написал:
используй регулярные выражения
Честно говоря не понял, зачем ему re.split? Помоему он хочет заменить вхождения подстроки в строке, а не разбить строку по регулярному выражению.
Офлайн
строки слить
i = 'мама мыла раму в больнице'
for word in ['мама', 'раму']:
i = i.replace(word, ' ')
Офлайн
expee
дело в том что он даёт пример , а на самом деле может попасться любой длинны строка и в любой последовательности…
sonniy
почитай про “регулярки” , они имеют множество решений. и в твоём случае ты можешь комплектовать фразу так кк тебе заблагорассудится.
Офлайн
Да, забыл присваивание сделать :) А на печать тебе нужно выводить не на каждой итерации цикла, а после завершения цикла.
Офлайн
sypper-pitпробывал но недогнал ,увы… может снезайдеш и даш пример , пожалуйста,припожалуйста =)
expee
дело в том что он даёт пример , а на самом деле может попасться любой длинны строка и в любой последовательности…
sonniy
почитай про “регулярки” , они имеют множество решений. и в твоём случае ты можешь комплектовать фразу так кк тебе заблагорассудится.
Офлайн