我正在制作一个需要做出反应的机器人:
!bid [钥匙数量]
但是,当人们写出像
这样的东西时哦,好吧,只需使用!bid。
它不应该算作命令。如何检查comment.body是否在此确切模板中。因此,当它被用作句子时,它不算数。
答案 0 :(得分:2)
你可以使用正则表达式
>>> import re
>>> s = '''this is a sentence with !bid [7.5] but this !bid doesn't count but !bid [12] does'''
您可以使用模式'\!bid \[\d+\.?\d+?\]'
查找符合条件的所有字符串实例
>>> re.findall('\!bid \[\d+\.?\d+?\]', s)
['!bid [7.5]', '!bid [12]']
或者,如果您只想在[]
之间提取文本,则可以使用捕获组
>>> re.findall('\!bid \[(\d+\.?\d+?)\]', s)
['7.5', '12']
答案 1 :(得分:0)
嗯,你可以:
if comment.startswith('!bid'):
command, rest = comment.split(' ', 1)
之后,command == '!bid'
和rest
是该行的其余部分