例如,我有这个字典:dict = { "(": " ( ", ")": " ) " ... }我有字符串,例如:"if (x < 0) {" 我希望它是"if ( x < 0 ) {"有什么方法可以做到?(使用字典并不重要,重要的是在某些字符周围添加填充)
2 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
如果您想在填充已经存在的情况下避免双空格(如您的示例中所示),您可以使用正则表达式,使用前瞻和后视查找需要填充的字符前面(?<=...)或后面(?=...)的位置非空格性格\S:
>>> padding = "()"
>>> p = r"(?<=\S)(?=[{0}])|(?<=[{0}])(?=\S)".format(padding)
>>> re.findall(p, text)
['', '']
>>> re.sub(p, " ", text)
'if ( x < 0 ) {'
Cats萌萌
TA贡献1805条经验 获得超9个赞
尝试使用str.replace:
def pad(s):
for k, v in dictionary.items():
s = s.replace(k, v)
return s
>>> dictionary = { "(": " ( ", ")": " ) "}
>>> pad("if (x < 0) {")
'if ( x < 0 ) {'
添加回答
举报
0/150
提交
取消