StringTools
Random
return a random string
Calling Sequence
Parameters
Description
Examples
Random( len, alphabet )
Randomize( seed );
len
-
positive integer; length of string to generate
alphabet
(optional) string or symbol; restricts the characters that form the string
seed
(optional) integer; seed for the random number generator
The Random(len, alphabet) calling sequence generates a random string of a given length, with the option of restricting the characters that form the returned string.
The Random(len) calling sequence returns a string of length len whose characters are randomly distributed and in the numeric range 1..255. That is, any non-zero 8-bit character can appear, and all appear with equal likelihood.
If the second optional argument, alphabet, is included in the calling sequence, it specifies the "alphabet" upon which the random string is generated. This option can assume one of two forms. If it is of type string, then the characters in that string are taken to be the alphabet from which to randomly draw characters in the output string. The alphabet characters must appear in US-ASCII order and cannot contain repetitions.
If the alphabet parameter is a symbol, then it must be one of the following recognized character class names.
Symbol
Range of Characters
alpha
A-Z or a-z
ascii
ASCII code 1 through 127
alnum
A-Z, a-z, or 0-9
binary
0 or 1
cntrl
FF, NL, CR, HT, VT, BEL, or BS
digit
0-9
dna
A,C,G or T
graph
alnum or punct
xdigit
0-9, a-f, or A-F
ident
A-Z, a-z, 0-9, or _
ident1
A-Z, a-z, or _
lower
a-z
octal
0-7
print
punct, alnum, or space character (" ")
punct
ascii and not in alnum, space, or cntrl
space
tab ("\t"), newline ("\n"), vertical tab ("\v")
form-feed ("\f"), or space (" ")
upper
A-Z
The Randomize command, which takes an optional integer seed argument, is used to initialize the random number generator. This command is now just an alias for the top-level randomize command.
All of the StringTools package commands treat strings as (null-terminated) sequences of 8-bit (ASCII) characters. Thus, there is no support for multibyte character encodings, such as unicode encodings.
with⁡StringTools:
length⁡Random⁡100000
100000
length⁡Select⁡IsAlphaNumeric,Random⁡100000
24412
min,max⁡op⁡convert⁡Random⁡100000,bytes
1,255
dna≔Random⁡20,ACGT
dna≔CAGGAAGTTTCTCCTATGTC
Random⁡20,binary
11000100001000110101
Random⁡20,upper
FUWAOGIXUXHQIFZXZUQA
IsDigit⁡Random⁡1000,digit
true
See Also
convert
length
max
min
op
rand
randomize
RandomTools
string
StringTools[AndMap]
StringTools[IsAlphaNumeric]
StringTools[IsDigit]
type[string]
Download Help Document