4

我想在 Python 中找到一个单词的出现并在该单词之后打印该单词。单词是空格分隔的。

例子 :

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

4

3 回答 3

26

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

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]
于 2013-07-16T21:10:02.933 回答
3

听起来你想要一个功能。

>>> 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循环,这样你就可以得到目标的所有实例。但这应该让你开始。

于 2013-07-16T23:19:22.713 回答
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]
于 2013-07-16T21:16:52.213 回答