如何用Python将一句话中一个单词前后的两个单词提取出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Python将一句话中一个单词前后的两个单词提取出来相关的知识,希望对你有一定的参考价值。
例如句子是“The Natural Protected Area Parque Nacional Bahia de Loreto, including five adjacent islands, was created in 1996.”定位到句子里有five,然后想要把including前(including)后(adjacent)的两个单提取出来。
可以用正则或者转化成列表后定位five的位置,然后切片取前后两个元素即可 参考技术A 参考技术B 取一个单词的首字母(假设单词是word),word[0:1]。取句子中所有的单词的首字母(假设句子是sentence) [word[0:1] for word in sentence.split()]如何用 Python 列表中的内容替换字符串中找到的单词
【中文标题】如何用 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将一句话中一个单词前后的两个单词提取出来的主要内容,如果未能解决你的问题,请参考以下文章