随机化字符串中的字符,但保持格式

时间:2019-08-09 14:53:47

标签: string python-2.7

所以我有一个字符串,例如:

id = 'ee9baadc-46bc-4486-a78b-830f5b2bcfc9'

我该如何随机化字符串的字符,但将破折号保持在相同的位置,例如:

id2 = '9eebaadc-46bc-4846-7a8b-380f5b2bcf9c'

这是我目前所拥有的,但是它也扰乱了破折号的位置:

id2 = ''.join(random.sample(id,len(id)))

2 个答案:

答案 0 :(得分:1)

您可以使用split(在破折号上),sample来随机化每个部分并保留破折号位置,join来随机化每个子列表,以及几个from random import sample id_ = 'ee9baadc-46bc-4486-a78b-830f5b2bcfc9' id_ = "-".join("".join(sample(s, len(s))) for s in id_.split("-")) 来将它们重新绑定在一起:

id

避免调用变量Code Issues Pull requests Wikis Settings Webhooks and services Deploy keys Collaboration invites -它会覆盖内置函数。

答案 1 :(得分:0)

base_id = 'ee9baadc-46bc-4486-a78b-830f5b2bcfc9'
base = base_id.split('-')[0]
random_base = ''.join(random.sample(base,len(base)))
id = re.sub(r'ee9baadc', random_base, base_id)

这就足够了,将第一组字符随机化...如果我愿意,我可以遍历整个字符串。