在Python中,我想读取输入,然后只在某个点后打印。我会像为它工作像这样在python中打印某个单词后
humaninput = raw_input("Please enter:")
breakdown = humaninput.split()
say = "say"
if say in breakdown:
print (all words after say)
我除了最后一部分
在Python中,我想读取输入,然后只在某个点后打印。我会像为它工作像这样在python中打印某个单词后
humaninput = raw_input("Please enter:")
breakdown = humaninput.split()
say = "say"
if say in breakdown:
print (all words after say)
我除了最后一部分
由于您将所有条目转换为列表,您可以找到“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)
这是很容易的,如果你只是使用字符串split()
做的一切。
if say in humaninput:
saysplit = humaninput.split(say,1)
print saysplit[1]
它适用于整个字符串,不只是单个字符或什么都没有(它默认为空格)。如果你有一个清单,另一个答案是正确的。
我会将maxsplit设置为1,否则如果字符串中有多个“say”,你会得到奇怪的输出。 –
@PadraicCunningham好点,谢谢。编辑。 – TheSoundDefense
这是一个很好的选择,不使用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
如果有多个“说”的实例,它将采取第一个。
这里需要澄清一点。这里所有的答案都是建议在首次发生“say”之后进行分裂的方法。如果你想改变一些其他的“说”,你可以使用'enumerate()'函数遍历列表并根据你的需要修改输出。 – AnotherCodingEnthusiast