如何使用 pyTelegramBotAPI 将命令与电报机器人中的其余消息分开?
How to separate a command from the rest of the message in telegram bots with pyTelegramBotAPI?
例如在下面的命令中
/set first_name, last_name
如何从邮件的其余部分中分离或删除 /set
?
由于命令只能使用拉丁字母、数字和下划线,因此您可以使用微小的正则表达式将其分隔,如下所示:
import re
pattern = "^\/[a-zA-Z\d_]* (.*)$"
string = "/set first_name, last_name"
match = re.match(command_pattern , string)
message = match.group(1)
# first_name, last_name
另一个解决方案:
string = "/set first_name, last_name"
message = " ".join(string.split(" ")[1:])
# first_name, last_name
但最后一种方法的局限性在于它会删除字符串中存在的双空格。
例如在下面的命令中
/set first_name, last_name
如何从邮件的其余部分中分离或删除 /set
?
由于命令只能使用拉丁字母、数字和下划线,因此您可以使用微小的正则表达式将其分隔,如下所示:
import re
pattern = "^\/[a-zA-Z\d_]* (.*)$"
string = "/set first_name, last_name"
match = re.match(command_pattern , string)
message = match.group(1)
# first_name, last_name
另一个解决方案:
string = "/set first_name, last_name"
message = " ".join(string.split(" ")[1:])
# first_name, last_name
但最后一种方法的局限性在于它会删除字符串中存在的双空格。