【问题标题】:Replacing a part of a string with a randomly generated number用随机生成的数字替换字符串的一部分
【发布时间】:2018-11-15 18:56:55
【问题描述】:

我有一个类似的字符串

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

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

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

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

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

非常感谢。

【问题讨论】:

    标签: python string random


    【解决方案1】:

    你可以使用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"'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-08
      • 2018-04-08
      • 2017-05-20
      • 2018-02-07
      • 1970-01-01
      • 2011-08-18
      • 2021-06-12
      • 2018-01-25
      相关资源
      最近更新 更多