首页 > 解决方案 > 我想删除最后一项 discord.py

问题描述

我正在创建一个有助于管理任务的不和谐机器人。目前,我想从任务字符串中删除日期。但我有点卡住了。
我用 .split 方法尝试了一些东西。但显然,有两个参数上限。我在这里没有找到有用的帖子,所以我希望有人可以帮助我......

if message.content.startswith(PREFIX + COMMAND_TASK):
    subject = message.content.split(' ')[1]
    task = message.content.split(' ', 2)[2:]
    date = message.content.split(' ')[-1]
    task = task[:task.find(date)-1] 

    embed = discord.Embed(colour=discord.Colour(0xbd10e0))
    embed.set_thumbnail(url=thumbnailurl)
    embed.add_field(name="subject",
                    value=subject,
                    inline=False)
    embed.add_field(name="task",
                    value=str(task)[2:-2],
                    inline=False)
    embed.add_field(name="date",
                    value=date,
                    inline=False)
    await message.channel.send(embed=embed)

它看起来像这样: 文本

标签: pythonsplitdiscorddiscord.py

解决方案


您可以通过find()在字符串中找到日期的索引

任务描述将变为

subject = message.content.split(' ')[1]
task = message.content.split(' ', 2)[2:]
date = message.content.split(' ')[-1]
task = task[:task[0].find(date)-1]  # -1 so that we don't have the last space that is before 03

现在,您的任务应该完全是“任务描述”


推荐阅读