python - 用随机生成的数字替换字符串的一部分

标签 python string random

我有一个看起来像这样的字符串

my_string='TAG="0000" TAG="1111" TAG="2222"'

我想要做的只是用字符串中随机生成的数字替换这些数字。

我正在考虑做类似的事情:

new_string = my_string.replace('0000',str(random.randint(1,1000000)))

这非常简单而且有效。现在假设我想让它更加动态(如果我有一个包含许多 TAG 元素的很长字符串),我想告诉代码:“每次在 my_string 中找到“TAG=”时,将以下数字替换为随机一个”。有人有想法吗?

非常感谢。

最佳答案

您可以使用re.sub:

import re, random
my_string='TAG="0000" TAG="1111" TAG="2222"'
new_string = re.sub('(?<=TAG\=")\d+', lambda _:str(random.randint(1,1000000)), my_string)

输出:

'TAG="901888" TAG="940530" TAG="439872"'

关于python - 用随机生成的数字替换字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53326197/

相关文章:

python - 带有 gspythonlibrary 的 Google 云存储

python - 检测机器人在裁剪行之间可以走的路径

arrays - 对可变长度项目/算法进行排序

ios - NSDateFormatter不适用于Twitter日期

javascript - 使用javascript编写随机&lt;script&gt;

python - 切片数组时出现内存错误

python : Returning a pyGTK object for packing

Java ArrayList 项目计数器 ie "Apple, 3×Banana, 2×Orange"

cryptography - 虚拟化对加密强度高的随机数生成器有什么影响?

python - 为什么包装random.Random的random方法好像对RNG有影响?