Skip to main content
 首页 » 编程设计

python之Python 字符串格式反转 : generating a dict from a string with named parameters

2025年05月04日22oomusou

我有一个这样的字符串,其中 symbol 和 property 不同:

a = '/stock/%(symbol)s/%(property)s' 

我有另一个这样的字符串,其中 AAPL 和 price 不同:

b = '/stock/AAPL/price' 

我正在尝试生成这样的字典:

c = { 
    'symbol': 'AAPL', 
    'property': 'price' 
} 

使用字符串格式,我可以这样做:

> a % c == b 
True 

但我正试图走向另一个方向。是时候使用一些正则表达式魔法了吗?

请您参考如下方法:

正则表达式解决方案:

>>> import re 
>>> b = '/stock/AAPL/price' 
>>> result = re.match('/.*?/(?P<symbol>.*?)/(?P<property>.*)', b) 
>>> result.groupdict() 
{'symbol': 'AAPL', 'property': 'price'} 

您可以对正则表达式进行更多调整,但本质上就是这个想法。