我正在尝试使用以下代码段在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个字母数字字符串的组合。
答案 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"