我想创建一个随机长度和随机字符的字符串,只有[a-z] [A-Z]和数字。内置了什么?
提前致谢。
答案 0 :(得分:18)
@Phonon和@dantswain的答案除了可以用较少痛苦的方式生成[a-Z]
,[A-Z]
的范围之外,还有很多内容,randi
可用于创建整数随机值。
symbols = ['a':'z' 'A':'Z' '0':'9'];
MAX_ST_LENGTH = 50;
stLength = randi(MAX_ST_LENGTH);
nums = randi(numel(symbols),[1 stLength]);
st = symbols (nums);
答案 1 :(得分:6)
这应该有效
s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; %find number of random characters to choose from numRands = length(s); %specify length of random string to generate sLength = 50; %generate random string randString = s( ceil(rand(1,sLength)*numRands) )
答案 2 :(得分:5)
在我意识到你想要[A-Z] [a-z]和[0-9]之前,我开始写这篇文章。为此,@ Phonon的答案很好。
作为替代方案,这将在从空格(32)到波浪号(126)的所有可读字符中生成随机ASCII字符:
length = 10;
random_string = char(floor(94*rand(1, length)) + 32);
答案 3 :(得分:1)
您是否尝试过内置函数 tempname ?例如,这两行将在rand_string中为您提供一个randon字符串:
temp_name = tempname
[temp1, rand_string] = fileparts(temp_name)
请注意,rand_string还包含下划线字符“_”。