如何用 Python 列表中的内容替换字符串中找到的单词
Posted
技术标签:
【中文标题】如何用 Python 列表中的内容替换字符串中找到的单词【英文标题】:How to replace a word found in a string with what is in the list in Python 【发布时间】:2018-08-01 19:23:04 【问题描述】:我的字符串如下:
word = "Continue: Lifetime Benefits in Running, Volume 1, Issue 1, February 2018"
我的清单是:
italic_list = ['Continue', ': Lifetime Benefits in Running', ' February 2018']
我想用列表中的内容更改字符串中找到的单词,并带有附加标签。
输出应该是这样的:
<p>
<italic>Continue: Lifetime Benefits in Running</italic>, Volume 1, Issue 1, <italic>February 2018</italic>
</p>
这是我的代码:
word = "Continue: Lifetime Benefits in Running, Volume 1, Issue 1, February 2018"
italic_list = ['Continue', ': Lifetime Benefits in Running', ' February 2018']
ital = ''.join(italic_list)
if ital in word:
word = word.replace(ital, "<italic>" + ital + "</italic>")
如果列表中的所有项目都在一个连续的单词中,则该代码将起作用。但是这个代码的问题是,如果有某个词没有与前一个项目一起成功。
我希望有更好的方法来解决这个问题。
非常感谢!
【问题讨论】:
欢迎来到 ***!到目前为止,您尝试过什么吗? *** 不是免费的代码编写服务,希望您能try to solve your own problem first。请更新您的问题以显示您已经尝试过的内容,并在minimal, complete, and verifiable example 中展示您面临的特定问题。欲了解更多信息,请参阅how to ask good questions,并拨打tour of the site。 【参考方案1】:不要加入。
它将列表元素合并为单个字符串。您有 3 个可以独立检查的短语。现在你有一个字符串。
您想要做的是检查是否有任何来自 italic_list 的短语一个接一个出现在输入字符串中。
在 python 中,您可以使用循环来做到这一点。只需遍历 italic_list,并为每个元素检查输入字符串中是否存在元素,如果存在,则将该部分替换为具有额外元素的部分。
【讨论】:
以上是关于如何用 Python 列表中的内容替换字符串中找到的单词的主要内容,如果未能解决你的问题,请参考以下文章
python正则表达式如何用已知字符串(如"aaa")替换文件中匹中的分组内容,不是匹中的全部,而是其中一个组