加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python-3.x – 替换字符串中的非数字字符

发布时间:2020-12-20 11:09:30 所属栏目:Python 来源:网络整理
导读:我想知道如何用不同的随机整数替换单个字符串中的非数字字符. 我尝试过以下方法: text = '1$1#387'rec_1 = re.sub("D+",str(random.randint(0,9)),text) 然后产生: output: 1717387 如您所见,非数字字符已被相同的整数替换.我希望每个非数字字符都被一个
我想知道如何用不同的随机整数替换单个字符串中的非数字字符.

我尝试过以下方法:

text = '1$1#387'
rec_1 = re.sub("D+",str(random.randint(0,9)),text)

然后产生:

output: 1717387

如您所见,非数字字符已被相同的整数替换.我希望每个非数字字符都被一个不同的整数替换.例如:

desired output: 1714387

请协助.

解决方法

使用函数作为替换值:

def replacement(match):
    return str(random.randint(0,9))

text = '1$1#387'
rec_1 = re.sub(r"D",replacement,text)

rec_1现在是“1011387”,或“1511387”,……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读