提取一行中两个单词之间的内容

时间:2015-04-02 22:26:14

标签: python-2.7

如果我有这条线

"he is a good man and he goes every day to a school"

我想检测两个单词“he”“和”之间的内容,所以输出将是

is a good man

我试过这个

for line in file:
    print line[line.index('he'): line.index('and')]

此代码提供输出

he is a good man

我该怎么做?

2 个答案:

答案 0 :(得分:2)

尝试使用命令re.search()

import re
s = "he is a good man and he goes every day to a school"
result = re.search('he (.*) and', s)
                    #^-------^ Find string in between 'he' and 'and'

print result.group(1)

输出:

>>> 
is a good man
>>> 

此外,如果您不喜欢re模块,还有许多其他方法可以执行此操作。

请在这里查看:Find string between two substrings

答案 1 :(得分:0)

切片是从包含的索引开始/结束/索引独占。这就是它排除'和'但包括'他'

for line in file:
    print line[line.index('he') - 1: line.index('and')]