【发布时间】:2014-08-02 13:29:01
【问题描述】:
假设我有一个字符串:
> my_string = '{foo}/{bar}'
> my_string.format(foo='foo', bar='bar')
'foo/bar'
好的,很酷。但就我而言,我想检索my_string 中的关键字参数。我已经完成了:
> ATTRS_PATTERN = re.compile(r'{(?P<variable>[_a-z][_a-z0-9]*)}')
> ATTRS_PATTERN.findall(my_string)
['foo', 'bar']
这不是很性感。你有更好的主意吗?
【问题讨论】:
-
请注意,格式说明符可以嵌套一层:
'{hello:{world}}'.format(hello=5.123456, world='.2f') --> '5.12'。如果您不跟踪在其他字段中使用了哪些字段,则可能会传入无效的格式说明符,如果您打算格式化字符串,则会引发错误。
标签: python string parsing format