我有一个STRING,其中包含以下内容:
tesla = {"number_of_shares":0, "avg_price":200}
我希望将股票数量换成3个例子:
tesla = {"number_of_shares":3, "avg_price":200}
我知道我可以这样做:
string = r'tesla = {"number_of_shares":0, "avg_price":200}'
new_string = string.split(":")[0] + ":3" + "," + string.split(",",1)[1]
但我想要的是这样的:
string = r'tesla = {"number_of_shares":0, "avg_price":200}'
replace_function(string_before_number=r'tesla = {"number_of_shares":}', string) # replace the number which comes after r'"number_of_shares":' with 3
答案 0 :(得分:2)
有比re更好的方法,但你可以重新发布:
tesla = {"number_of_shares":3, "avg_price":200}
输出:
import json
def parse_s(s, k, repl):
name, d = s.split("=", 1)
js = json.loads(d)
js[k] = repl
return "{} = {}".format(name, str(js))
print(parse_s(string, "number_of_shares", "3"))
或者使用json并使用密钥:
word-wrap: break-word