如何在Python中查找单词旁边的单词

如何在Python中查找单词旁边的单词,python,python-2.7,Python,Python 2.7,我想在Python中找到一个单词,并在这个单词后面打印这个单词。这些单词是空格分隔的 例如: 如果文件中出现单词“sample”“thisword”。我想得到这个词。我想要一个正则表达式,因为thisword不断变化。python字符串有一个内置的拆分方法,可以将字符串拆分为一个由空格字符分隔的单词列表(),它有一些参数用于控制拆分单词的方式,然后您可以在列表中搜索所需的单词并返回下一个索引 your_string = "This is a string" list_of_words = you

我想在Python中找到一个单词,并在这个单词后面打印这个单词。这些单词是空格分隔的

例如:


如果文件中出现单词“sample”“thisword”。我想得到这个词。我想要一个正则表达式,因为thisword不断变化。

python字符串有一个内置的拆分方法,可以将字符串拆分为一个由空格字符分隔的单词列表(),它有一些参数用于控制拆分单词的方式,然后您可以在列表中搜索所需的单词并返回下一个索引

your_string = "This is a string"
list_of_words = your_string.split()
next_word = list_of_words[list_of_words.index(your_search_word) + 1]

一个非常简单的方法:

s = "this is a sentense"
target = "is"
words = s.split()
for i,w in enumerate(words):
    if w == target:
        # next word
        print words[i+1]
        # previous word
        if i>0:
            print words[i-1]

听起来你想要一个函数

>>> s = "This is a sentence"
>>> sl = s.split()
>>> 
>>> def nextword(target, source):
...   for i, w in enumerate(source):
...     if w == target:
...       return source[i+1]
... 
>>> nextword('is', sl)
'a'
>>> nextword('a', sl)
'sentence'
>>> 

当然,您可能需要执行一些错误检查(例如,这样您就不会从末尾掉下来),也可能需要执行一个while循环,以便获得目标的所有实例。但是这应该让你开始了。

你说的“下一步”是指之前、之后还是两者都有?想添加一个你要搜索的句子和你要提取的单词的例子吗?还有,这个单词能出现多次吗?然后呢?我所说的next to是指在同一行中,在该词之后出现了另一个词,并且该词多次出现。我需要一个正则表达式来获取在指定单词之后出现的单词。@Vamsi您是在寻求这个问题的特定解决方案吗?一个涉及正则表达式的解决方案。或者,在回答“我如何得到下面的单词”之后。。。你很可能不想要正则表达式。@JonClements我想我确实需要一个正则表达式,它给出“thisword”,如我的示例所示,“thisword”总是不断变化这不起作用,因为“is”总是不断变化。因此,我认为如果我能得到一个正则表达式来做这件事会更好。你想提供一些关于目标词如何变化的更多细节,以便思考如何重写程序吗?