2014-07-17 53 views
0

在Python中,我想读取输入,然后只在某个点后打印。我会为它工作像这样在python中打印某个单词后

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

我除了最后一部分

+0

这里需要澄清一点。这里所有的答案都是建议在首次发生“say”之后进行分裂的方法。如果你想改变一些其他的“说”,你可以使用'enumerate()'函数遍历列表并根据你的需要修改输出。 – AnotherCodingEnthusiast

回答

0

由于您将所有条目转换为列表,您可以找到“say”的第一个实例,然后创建一个包含所有条目的新列表。

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) 
0

这是很容易的,如果你只是使用字符串split()做的一切。

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

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

+1

我会将maxsplit设置为1,否则如果字符串中有多个“say”,你会得到奇怪的输出。 –

+0

@PadraicCunningham好点,谢谢。编辑。 – TheSoundDefense

0

这是一个很好的选择,不使用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 

如果有多个“说”的实例,它将采取第一个。

相关问题