所以我有一个不和谐机器人,它允许人们从纸牌游戏中命名一张牌,比如:!card card name
然后从bot发布一个URL,然后从该图像构建一个频道。现在,它非常简单,不做任何验证或任何事情,但它确实有一个问题我想解决,那就是它不能处理撇号。在
如果卡名包含撇号(例如“卡的名称”),我的机器人程序使用%27创建URL。然而,卡db将撇号替换为“-”。不幸的是,我没有收到撇号,所以字符串。替换(“'”,“-”)不起作用。在
当字符串在命令数组中时,我的IDE会正确地显示它,当我从那里检索到它时,它看起来是这样的:Card\\'s Name
我假设它总是转义的,但是当它不是原始字符串时,IDE会以解析的方式显示它。在
我想解码/解析这个,这样我就可以把它转换成“card-s-name”,但是我尝试过的方法都不管用。在
在urllib.parse.decode“无法解码字符串”,字符串。替换(“\”,“”)什么都没做,所以我现在有点困了。在
如何将“card\\'s”转换为“card-s”?在
下面是我现在使用的代码:
def get_card_url(command):
card_name = ''
for string in command:
string = urllib.parse.unquote(string)
string.replace("'", "-")
if card_name != '':
card_name += '-'
card_name += string.lower()
return "https://fiveringsdb.com/bundles/card_images/" + card_name + ".png"
我遇到错误的卡名为“Kitsuki's Method”,url以https://fiveringsdb.com/bundles/card_images/kitsuki%27s-method.png而不是{a2}的形式发布到通道
我希望这有助于消除任何遗留的困惑。在
在我的ipython笔记本里,它工作得很好。
输出为^{cd1>}
编辑:
如果您对var是什么感到困惑,可以打印是的。还有然后,将转义字符用于所需的字符。
例如:
更新:
^{pr2}$str.更换()返回新str,但它不会更改旧str。因此,您需要让var等于新str,然后使用var
测试:
但是我仍然无法重现您关于^{{cd2>}的错误
相关问题 更多 >
编程相关推荐