用 python 中的字符串列表用正则表达式替换字符串
Replace with regular expression a string with a list of strings in python
我想用字符串列表替换字符串的一部分
例如。输入字符串 '{"abc": "##value##", "Xyz": 2}'
,
我想用 ["v1", "v2"]
之类的列表替换 "##value##"
所以,输出看起来像 '{"abc": ["v1", "v2"], "Xyz": 2}'
如果替换的不是列表,我会直接使用
re.sub('##value##', replacement_value, input_data)
,但是这样做会产生错误
unhashable type: 'list'
还有其他方法可以实现吗?
简单改变
re.sub('##value##', replacement_value, input_data)
到
re.sub("'##value##'", str(replacement_value), input_data)
re.sub()
只接受字符串作为替代,所以它等同于
import re
s = '{"abc": "##value##", "Xyz": 2}'
print(re.sub('"##value##"', '["v1", "v2"]', s))
输出:
{"abc": ["v1", "v2"], "Xyz": 2}
我想用字符串列表替换字符串的一部分
例如。输入字符串 '{"abc": "##value##", "Xyz": 2}'
,
我想用 ["v1", "v2"]
"##value##"
所以,输出看起来像 '{"abc": ["v1", "v2"], "Xyz": 2}'
如果替换的不是列表,我会直接使用
re.sub('##value##', replacement_value, input_data)
,但是这样做会产生错误
unhashable type: 'list'
还有其他方法可以实现吗?
简单改变
re.sub('##value##', replacement_value, input_data)
到
re.sub("'##value##'", str(replacement_value), input_data)
re.sub()
只接受字符串作为替代,所以它等同于
import re
s = '{"abc": "##value##", "Xyz": 2}'
print(re.sub('"##value##"', '["v1", "v2"]', s))
输出:
{"abc": ["v1", "v2"], "Xyz": 2}