我该怎么做'以'开头的单词在Python?

时间:2017-11-23 00:49:12

标签: python string string-comparison

标题应该是非常自我解释的,但举一个例子:

runny=input(print("do you run or stay?"))
if runny in ["run", "Run", " run", " Run", "run ", "Run ", " run ", " Run "]:

我只是想知道我是否可以说如果用char(r)或其他什么东西的流星? 谢谢!

2 个答案:

答案 0 :(得分:1)

您可以转换输入以减少搜索空间。

  1. 小写字母
  2. 删除尾随空格
  3. if 'run' in runny.lower():
        # do something
    

    或者,完全匹配:

    if 'run' == runny.lower().strip():
        # do something
    

    你也可以使用str.startswith,但要注意误报:

    if runny.lstrip().lower().startswith('run'):
        # do something
    

    如果您需要考虑字符之间的空格或更复杂的模式,您应该使用正则表达式。

答案 1 :(得分:-1)

您无需在print内运行input功能。您最终会打印一个额外的None。接下来你应该使用正则表达式,因为它使它更易于维护。

import re
runny=input("do you run or stay? ")
if re.match(r"\brun\b",runny,flags=re.I):
    print("You're running!")
else:
    print("You're not running.")