只替换中括号之间的逗号
方法一:
先找到[],会生成一个列表,把里面的逗号替换,然后把相应的位置用{}替换,之后format(*all)替换。
`import re
def replace_dou(s):
“”“中括号内逗号替换为顿号”“”
sr = re.findall(“[.?]“, s) # 查找中括号
no = re.sub(r”[.?]”, ‘{}’, s) # 将整个中括号替换为{}
all = []
for i in range(len(sr)):
i = sr[i].replace(‘,’, ‘、’) # 替换
all.append(i)
ok = no.format(*all) # 列表拆分,逐个填入{}
print(‘替换如下:%s’ % ok)
if name == “main”:
s = input(‘请输入要替换逗号的字符串:’)
replace_dou(s)
`
方法二:
`
def replace_commas(string: str,mark: str)->str:
_str = string
for match in re.finditer(r"(?<=\[)(.*?)(?=\])",_str):
start,end = match.span()
_str=_str[:start] + match.group().replace(",",mark)+_str[end:]
return _str
`