You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免Python函数解析字符串中的转义字符?

解决方案

针对你的具体场景

直接在函数中把转义后的@替换为/100,即可得到期望输出:

def func(x):
    processed = x.replace('@', '/100')
    temp_str = repr(processed)
    return temp_str

my_str = 'some\100random'
print(func(my_str))  # 输出: 'some/100random'

通用场景(若存在更多八进制转义字符)

如果需要处理多个类似\100的八进制转义字符,可以维护一个转义映射表,批量替换还原:

def func(x):
    # 映射表:转义后的字符 → 目标格式的字符串
    esc_map = {
        '@': '/100',
        'A': '/101',
        'B': '/102'
        # 可根据实际需求扩展其他八进制转义对应关系
    }
    processed = x
    for char, replacement in esc_map.items():
        processed = processed.replace(char, replacement)
    temp_str = repr(processed)
    return temp_str

问题本质

你定义my_str = 'some\100random'时,Python在代码解析阶段就会把\100识别为八进制转义序列:八进制100对应十进制ASCII码64,也就是字符@。因此my_str的实际存储内容是'some@random',原字符串中的\和100已经被替换成了@——无法从变量本身还原原始转义序列,只能通过函数将@反向替换为你需要的/100格式。

内容的提问来源于stack exchange,提问作者Karol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:43:12