Как найти и заменить несколько слов из абзаца идентифицированным следующим словом в python? - PullRequest
0 голосов
/ 17 февраля 2020

Я хочу заменить и пометить несколько слов из абзаца следующим словом.

paragraph = "Python is the most powerful language [YES] yes. my sex is [NO] male [YES] female"

Я хочу заменить клавиши [ДА] и [НЕТ] следующим словом, как показано ниже.

paragraph = "Python is the most powerful language [YES]yes[/YES]. my sex is [NO]male[/NO] [YES]female[/YES]"

Ответы [ 2 ]

1 голос
/ 17 февраля 2020

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

import re

paragraph = "Python is the most powerful language [YES] yes. my sex is [NO] male [YES] female"

paragraph = re.sub(r"\[(.*?)\]\s\b(\w+)\b", r"[\1]\2[/\1]", paragraph)

Вывод:

"Python is the most powerful language [YES]yes[/YES]. my sex is [NO]male[/NO] [YES]female[/YES]"

Надеюсь это тебе поможет!

0 голосов
/ 17 февраля 2020
paragraph = "Python is the most powerful language [YES] yes. my sex is [NO] male [YES] female"

def find_replace(paragraph):
    par = paragraph.split(" ")
    for i, p in enumerate(par):
        if p == "[NO]":
            par[i] = "[NO]" + par[i+1] + "[/NO]"
            del par[i+1]

    # the same for [YES]

    return " ".join(par)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...