iT邦幫忙

0

python 提取str中特定字之後文字

我有程式碼,會產生一字串:{'id'='XX','ad'='xxxx'}分明就很像list嘛...
今天我想提取ad的值xxxx,在程式碼盡量最少的情況(跑比較快)該如何是好...
或許換個話說,我想'提取字串特定字元後字元'

0
海綿寶寶
iT邦大神 1 級 ‧ 2020-04-08 23:46:43
最佳解答

若可以 import json 的話...

import json
str = "{'id'='XX','ad'='xxxx'}".replace('=',':').replace("'","\"")
jsonobj = json.loads(str)
print(jsonobj['ad'])
0
player
iT邦大師 1 級 ‧ 2020-04-08 22:56:56
0
sheep630459
iT邦新手 5 級 ‧ 2020-04-09 10:23:35

如同邦友說的使用Regular Expression的作法

import re

example = r"{'id'='XX','ad'='xxxx'}"
pattern = r"(?<='ad'=').*(?=')"
result = re.search(pattern, example)

print(result.group(0))
otac iT邦新手 5 級 ‧ 2020-04-09 21:03:44 檢舉

新手請教,請問 example = r"{.....}" 是甚麼東西?是LIST?DICT? 謝謝

r"..." 這個是python Raw string的寫法,可以讓你不用加 '\' 來跳脫,但可以保有一樣的效果,舉例來說:

print('\t')
print('\\t')
print(r'\t')

下面這兩個是相同的

我要發表回答

立即登入回答