如何在Julia中生成随机的字母数字字符串?

时间:2019-06-05 02:20:41

标签: random julia

我正在尝试使用以下代码段在julia中生成12个字符的字母数字字符串:
a)
an = randstring(rand(Bool) ? ('A':'Z') : ('0':'9'), 12)
b)

an = "" 
for i in [1:12]
    an *= randstring(rand(Bool) ? ('A':'Z') : ('0':'9'))
end

但是两者都给出完整的12位数字或12个字母,但不给出它们的组合。

请指导我生成12个字母数字字符串的组合。

1 个答案:

答案 0 :(得分:5)

如果您不介意将大小写字母混合使用,则只需致电randstring(12)

julia> using Random

julia> Random.seed!(0);

julia> randstring(12)
"0IPrGg0JVONT"

julia> randstring(12)
"EB5dhw4LVno7"

如果只需要大写字母和数字,则需要传递randstring仅包含大写字母和数字的集合,您可以使用['A':'Z'; '0':'9']来实现:

julia> Random.seed!(0);

julia> randstring(['A':'Z'; '0':'9'], 12)
"ASZQAT5YX3OL"

julia> randstring(['A':'Z'; '0':'9'], 12)
"FEV5HTGMLQ6X"

最后,请注意,您可以将字符集合作为字符串提供:

julia> Random.seed!(0);

julia> randstring("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", 12)
"ASZQAT5YX3OL"