在python中的某个单词后打印

时间:2014-07-17 21:43:55

标签: python raw-input

在Python中,我想阅读输入,然后只在某一点之后打印。我会 喜欢 ,因为它可以像这样工作

    humaninput = raw_input("Please enter:")
    breakdown = humaninput.split()
    say = "say"
    if say in breakdown:
        print (all words after say)

我除了最后一部分外还有其他所有内容

3 个答案:

答案 0 :(得分:1)

这是一个不使用split的简洁替代方案。

string = "string blah say foo bar"
say = "say"
after = string[string.index(say) + len(say):] # +1 if you're worried about spaces
print(after)

>> foo bar

如果有多个"说"的实例,它将采用第一个。

答案 1 :(得分:0)

如果您只是使用字符串,那么使用split()非常容易。

if say in humaninput:
  saysplit = humaninput.split(say,1)
  print saysplit[1]

它适用于整个字符串,而不仅仅是单个字符或根本没有(默认为空格)。如果你有一个清单,那么另一个答案是正确的。

答案 2 :(得分:0)

由于您已将所有条目转换为列表,因此您可以找到"说"的第一个实例,然后创建一个包含其后所有内容的新列表。

humaninput = "This is me typing a whole bunch of say things with words after it"
breakdown = humaninput.split()
say = "say"
if say in breakdown:
    split = breakdown.index(say)
    after = breakdown[split+1:]
    print(after)