私はPythonでの文字列を持っています
str1 = 'abc(1),bcd(xxx),ddd(dfk dsaf)'
re を使用して「結果」と言うオブジェクトに解析する方法は次のとおりです。
for k,v in results:
print('key = %r, value = %r', (k, v))
ありがとう。
以下も使用できますfinditer
。
>>> p = re.compile(r'(\w+)\((.*?)\)')
>>> {x.group(1):x.group(2) for x in p.finditer(str1)}
{'bcd': 'xxx', 'abc': '1', 'ddd': 'dfk dsaf'}
>>>
ピンチで、正規表現に頼らずにそれを行うことができます
str1 = 'abc(1),bcd(xxx),ddd(dfk dsaf)'
results = [x.split('(') for x in str1.split(',')]
results = [(x, y.rstrip(')')) for x, y in results]
print results
[('abc', '1'), ('bcd', 'xxx'), ('ddd', 'dfk dsaf')]
str1 = 'abc(1),bcd(xxx),ddd(dfk dsaf)'
import re
d = dict(re.findall('(\w+)\((.*?)\)', str1))
# {'bcd': 'xxx', 'abc': '1', 'ddd': 'dfk dsaf'}
for k,v in d.iteritems():
# do whatever