Как сгенерировать случайную буквенно-цифровую строку в юлии? - PullRequest
4 голосов
/ 05 июня 2019

Я пытаюсь сгенерировать буквенно-цифровую строку из 12 символов в julia со следующими фрагментами:
а)
an = randstring(rand(Bool) ? ('A':'Z') : ('0':'9'), 12)
б)

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

но оба дают либо полные 12 цифр, либо 12 алфавитов, но не их комбинации.

, пожалуйста, помогите мне создать комбинацию из 12 буквенно-цифровых строк.

1 Ответ

5 голосов
/ 05 июня 2019

Если вы не возражаете смешивать прописные и строчные буквы, вы можете просто позвонить 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"
...