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

Python 3正则表达式:如何移除字符串中的u[0-9]{4}?

问题解决方法

为什么原代码不生效?

字符串的replace()方法不支持正则表达式,它只会匹配完全一致的固定文本。你写的r"u[0-9]{4}"会被当作普通字符串去匹配,原字符串里没有这个完全相同的子串,所以替换后还是原字符串。

正确实现方式

要通过正则表达式替换,需要使用Python标准库的re模块,用re.sub()函数完成:

import re

s = "aaau0004bbbbu0001"
# 用正则匹配"u"开头加4位数字的子串,替换为空
result = re.sub(r"u[0-9]{4}", "", s)
print(result)  # 输出:aaabbbb

特殊情况说明

如果你的原字符串里是实际的Unicode控制字符(比如\u0004是代表结束传输的控制符,而不是文本"u0004"),那正则需要调整为匹配对应字符,代码如下:

import re

s = "aaa\u0004bbbb\u0001"
# 匹配所有Unicode控制字符(范围\u0000-\u001F)
result = re.sub(r"[\u0000-\u001F]", "", s)
print(result)  # 输出:aaabbbb

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:22:05