Python:如何保留字符串首尾双引号,替换内部双引号为{+}
解决Python字符串中间双引号替换问题
首先,原代码存在语法错误,字符串内的双引号未转义,我们需要先将其转为合法的Python字符串(比如用单引号包裹),再执行替换操作。
实现步骤
- 提取原字符串首尾双引号之外的内容
- 将中间部分的所有双引号替换为
{+} - 重新拼接首尾双引号与处理后的中间内容
代码示例
# 将原错误字符串转为合法形式(用单引号包裹避免语法报错) original_str = '"HIGHLY"SUCCE?SS+"FUL"RATE"' # 提取首尾引号外的中间内容 middle_content = original_str[1:-1] # 替换中间的双引号 modified_middle = middle_content.replace('"', '{+}') # 拼接得到目标字符串 name = f'"{modified_middle}"' print(name) # 输出结果: "HIGHLY{+}SUCCE?SS+{+}FUL{+}RATE"
额外处理(可选)
如果需要兼容首尾不一定是双引号的场景,可以先做判断:
original_str = '"HIGHLY"SUCCE?SS+"FUL"RATE"' if original_str.startswith('"') and original_str.endswith('"'): middle_content = original_str[1:-1] modified_middle = middle_content.replace('"', '{+}') name = f'"{modified_middle}"' else: # 首尾不是双引号时直接返回原字符串 name = original_str
内容的提问来源于stack exchange,提问作者sreelu r
相关产品推荐
相关产品推荐

