分析字符串输入,直到它在Python上达到某个字母

2024-05-15 04:08:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在写程序的某个部分时需要帮助。 这个想法是,一个人会输入一堆乱七八糟的东西,程序会一直读到一个“!”(感叹号)例如:

input("Type something: ")

人物类型:wolfdo65gtornado!萨尔蒙蒂格223

如果我让程序打印输入,它应该只打印wolfdo65gtornado,并在到达“!”时剪切任何内容程序的其余部分是分析和计算字母,但这些部分我已经知道怎么做了。我只需要第一部分的帮助。我一直想翻阅这本书,但好像我遗漏了什么。

我在想,也许利用一个for循环,然后对它进行限制,但是我不知道如何对随机输入的字符串进行分析,然后去掉其余的字符。

如果你能帮忙,我将非常感激。谢谢!


Tags: 字符串程序利用类型内容forinputtype
3条回答

你想要^{}

>>> s = "wolfdo65gtornado!salmontiger223"
>>> '-'.join(itertools.takewhile(lambda x: x != '!', s))
'w-o-l-f-d-o-6-5-g-t-o-r-n-a-d-o'



>>> s = "wolfdo65gtornado!salmontiger223!cvhegjkh54bgve8r7tg"
>>> i = iter(s)
>>> '-'.join(itertools.takewhile(lambda x: x != '!', i))
'w-o-l-f-d-o-6-5-g-t-o-r-n-a-d-o'
>>> '-'.join(itertools.takewhile(lambda x: x != '!', i))
's-a-l-m-o-n-t-i-g-e-r-2-2-3'
>>> '-'.join(itertools.takewhile(lambda x: x != '!', i))
'c-v-h-e-g-j-k-h-5-4-b-g-v-e-8-r-7-t-g'
>>> s = "wolfdo65gtornado!salmontiger223"
>>> s.split('!')[0]
'wolfdo65gtornado'
>>> s = "wolfdo65gtornadosalmontiger223"
>>> s.split('!')[0]
'wolfdo65gtornadosalmontiger223'

如果它没有遇到““字符,它只会抓取整个文本。如果您想输出一个错误,如果它不匹配任何““您可以这样做:

s = "something!something"
if "!" in s:
  print "there is a '!' character in the context"
else:
  print "blah, you aren't using it right :("

内置的^{}方法将为您执行此操作。与^{}不同的是,它不会费心将str的其余部分切割成不同的strs

text = raw_input("Type something:")
left_text = text.partition("!")[0]

相关问题 更多 >

    热门问题