我想获得一个字符串模板可能用于替换的所有可能的关键字参数的列表。从模板获取密钥
有没有办法做到这一点,而不是重新?
我想要做这样的事情:
text="$one is a $lonely $number."
keys = get_keys(text)
# keys = ('one', 'lonely', 'number')
我正在写一个简单的疯LIB般的程序,我想与任何string.format或Template strings执行模板替换。我想编写'故事',让我的程序生成一个用户需要生成的所有'关键字'(名词,动词等)的模板文件。我知道我可以用正则表达式来做到这一点,但我想知道是否有其他解决方案?我打开替代string.format和字符串模板。
我认为会有解决这个问题的方法,但是我没有在快速搜索中遇到它。我确实发现了这个问题,reverse template with python,但它不是我正在寻找的。它只是重申这可以通过re
完成。
编辑:
我要指出,$$
是“$”一种逃避,而不是令牌我想要的。 $$5
应呈现为“$ 5”。
非常符合我的要求。也许我的问题需要解决,但我基本上不想重新发明轮子。谢谢。 – Yann
如果字符串以键开头,则这不起作用。用'{foo} test'试试以上内容 – syntacticmarmalade
@syntacticmarmalade在Python 3.6上对我很好。如果你的意思是列表最后有一个'None',那是因为字符串不能用键结束。你可以过滤'None'的实例。 –