2016-08-12 2 views
-2

Я должен изменить конкретное слово в строке, не изменяя другие его формы.Как заменить слово в Python без замены других форм слова?

Например, если предложение является «Буквы в вашем письме велики„

и я должен заменить „букву“ с „книгой“,

Выход должен быть “ буквы в вашей книге велики» вместо „книги в вашей книге велики“.

Может кто-нибудь, пожалуйста, помогите мне?

К сожалению я Я новичок в кодировании, и я действительно борется.

Большое вам спасибо!

(кстати, это просто пример ... и код должен работать с любым предложением с конкретным словом и другими формами слова, но все, что мне нужно, чтобы изменить это оригинальное нет ничего другого.

Кроме того, приговор должен быть вход, так что сомнительно ... Но слово заменить наверняка)

+0

К «формам слово «вы имеете в виду омонимы? Или просто что-то не такое слово? –

+0

вы что-то пробовали? – Julien

+0

Разве это только различие множественных «букв» (= «букв») против единственной буквы «(=« книга »)? Или вам нужно заглянуть в [Синонимы WordNet] (http://www.nltk.org/howto/wordnet.html)? –

ответ

0

Вы можете разбить строку на слова, заменить нужное слово, а затем присоединиться последние слова в строку:

def replace_word(text, findWord, replaceWord): 
    return ' '.join(replaceWord if word == findWord else word for word in text.split(' ')) 

Тогда:

replace_word("This letters in your letter are great", "letter", "book") 
+0

Большое спасибо за помощь :) –

+0

Остерегайтесь пунктуации. 'replace_word (« Эти буквы в вашем письме великолепны! »,« великий »,« потрясающий »)' не будет работать. – Efferalgan

0

нет способов

Один не является (который вы использовали): -.

“The letters in your letter are great".replace(" letter ", " book ") 

Другой является regx

+0

Что делать, если слово, которое нужно заменить, * буква * в этом случае, начинается с начала или конца строки? – niyasc

+0

@niyasc Да, это не удается, но это решение предназначено для предопределенного утверждения. –

+0

Большое спасибо за ответ ... Но это всего лишь пример, и может быть несколько форм этих слов, но я могу только изменить оригинал с другими формами, также существующими в этом предложении. –

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