Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 29, 2009 12:17:12

sonniy
От:
Зарегистрирован: 2009-12-18
Сообщения: 84
Репутация: +  0  -
Профиль   Отправить e-mail  

множественная замена

есть текст , например :
“мама мыла раму в больнице”

надо чтоб слово “мама” и “рама” заменялось на что то например “пробел”

если ето с помощью .replace то как ?
или надо писать цикл ?(есть ли вариант проще, чтоб не засорять програму=))



Офлайн

#2 Дек. 29, 2009 12:22:34

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

множественная замена

Что значит не засорять прогармму? Упаковать все в никому непонятный код, чтобы все ломали голову, что программист здесь имел ввиду? Наиболее разумно, на мой взгляд будет именно в цикле:

i = 'мама мыла раму в больнице'
for word in ['мама', 'раму']:
i.replace(word, ' ')
Где тут засорение? Можешь, коенчно через re.sub. Сэкономишь 2 строчки.



Отредактировано (Дек. 29, 2009 12:23:12)

Офлайн

#3 Дек. 29, 2009 12:23:27

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

множественная замена

Офлайн

#4 Дек. 29, 2009 12:27:57

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

множественная замена

sypper-pit
используй регулярные выражения
Честно говоря не понял, зачем ему re.split? Помоему он хочет заменить вхождения подстроки в строке, а не разбить строку по регулярному выражению.



Офлайн

#5 Дек. 29, 2009 12:33:59

sonniy
От:
Зарегистрирован: 2009-12-18
Сообщения: 84
Репутация: +  0  -
Профиль   Отправить e-mail  

множественная замена

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')
по результату выдает 2 варианта … и уберает чтото одно … :
  мыла раму в больнице
мама мыла в больнице
а нужно один результат: в данном случае “мыла в больнице”



Офлайн

#6 Дек. 29, 2009 12:35:24

sonniy
От:
Зарегистрирован: 2009-12-18
Сообщения: 84
Репутация: +  0  -
Профиль   Отправить e-mail  

множественная замена

expee
sypper-pit написал:

используй регулярные выражения

Честно говоря не понял, зачем ему re.split? Помоему он хочет заменить вхождения подстроки в строке, а не разбить строку по регулярному выражению.
тру



Офлайн

#7 Дек. 29, 2009 12:37:34

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

множественная замена

строки слить

i = 'мама мыла раму в больнице'
for word in ['мама', 'раму']:
i = i.replace(word, ' ')

Офлайн

#8 Дек. 29, 2009 12:40:52

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

множественная замена

expee
дело в том что он даёт пример , а на самом деле может попасться любой длинны строка и в любой последовательности…
sonniy
почитай про “регулярки” , они имеют множество решений. и в твоём случае ты можешь комплектовать фразу так кк тебе заблагорассудится.

Офлайн

#9 Дек. 29, 2009 12:41:34

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

множественная замена

Да, забыл присваивание сделать :) А на печать тебе нужно выводить не на каждой итерации цикла, а после завершения цикла.



Офлайн

#10 Дек. 29, 2009 12:44:53

sonniy
От:
Зарегистрирован: 2009-12-18
Сообщения: 84
Репутация: +  0  -
Профиль   Отправить e-mail  

множественная замена

sypper-pit
expee
дело в том что он даёт пример , а на самом деле может попасться любой длинны строка и в любой последовательности…
sonniy
почитай про “регулярки” , они имеют множество решений. и в твоём случае ты можешь комплектовать фразу так кк тебе заблагорассудится.
пробывал но недогнал ,увы… может снезайдеш и даш пример , пожалуйста,припожалуйста =)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version