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

如何用Python正则表达式将字符串中连续数字替换为单个*?

用Python正则表达式实现连续数字区域替换为单个*号

你遇到的问题是因为直接匹配单个数字并替换,导致每个数字都被换成*,而我们需要把连续的数字块整体替换成一个*号。

解决方法很简单,使用re.sub()函数,正则表达式匹配一个或多个连续的数字,然后统一替换为单个*:

import re

original_str = "ABC234TSY65234525erQ"
result_str = re.sub(r'\d+', '*', original_str)
print(result_str)  # 输出: ABC*TSY*erQ

说明:

  • \d+:正则表达式中,\d匹配单个数字,+表示匹配前面的元素一次或多次,也就是匹配任意长度的连续数字块。
  • re.sub(pattern, repl, string):该函数会遍历字符串,把所有匹配pattern的子串替换成repl,这里就是把每个连续数字块替换成一个*。

这样就能精准实现你想要的效果,不管数字块长度是3位还是8位,都会被替换成单个*号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:40:21