10 个版本
0.2.5 | 2024年3月21日 |
---|---|
0.2.4 | 2024年3月20日 |
0.1.5 | 2024年3月20日 |
681 在 文本处理 中
89 每月下载量
8KB
103 行
关于
EasyRandom 是一个库,可以帮助生成符合特定模式的随机模式
假设我们想要生成模式为 "aaaa bbbnnn ccccc" 的随机字符串,其中
- a -> 小写英文字母
- b -> 大写英文字母
- c -> 大小写英文字母
- n -> 从 0 到 9 的数字
- s -> 你可以添加的自定义字符
- ' ' -> 空格
- '_' -> 下划线
let mut sp_gen = EasyRandom::new();
let output=sp_gen.generate(String::from("aaaa bbbnnn ccccc"));
// We get the following random generated String
// poxy BOG737 ovKwQ
如果我们输入除 a、b、c、n 之外的任何字符串,我们得到的输出将是这个字符串
let mut sp_gen = EasyRandom::new();
let output=sp_gen.generate(String::from("aaD")); // here 'D' is invalid
// We get this string
// Please use the characters a(lowercase),b(uppercase),c(upper+lower cases),n(numbers) only to generate random strings
如果我们想排除任何字符,可以通过传递字符数组或向量来实现
let mut sp_gen = EasyRandom::new();
sp_gen.exclude_chars(&['a','i','e','o','u']); //removing all the vowels from the generator
for i in 0..10{
let output=sp_gen.generate(String::from("aaaaa aaa__aa"));
println!("{}",output);
}
/*
tfzvy rfb__rq
bvnvt cfq__xl
tyhkq bwt__cd
twttm krw__th
wqwfc zqd__nq
srjcj wys__mg
qfktg bvs__gs
xkqgf smb__rl
xpgwv dcq__zd
kclkc ggf__vx
*/
//
我们也可以排除数字
let mut sp_gen = EasyRandom::new();
sp_gen.exclude_chars(&['3','1','4','9','2']); //removing all the vowels from the generator
for i in 0..10{
let output=sp_gen.generate(String::from("aaaaannnn"));
println!("{}",output);
}
/*
rjicw0005
xjgak6067
ihxfw8705
ptlxt8085
pvdcx8788
pkmga6707
xakoy6080
amxyl8608
bkbaz6700
uuluz5785
*/
用法
您可以从终端添加它
cargo add easy_random
您也可以将其添加到 TOML 文件中
[dependencies]
easy_random = "0.2.5"
以下是完整的示例代码
use easy_random::EasyRandom;
fn main(){
let mut sp_gen = EasyRandom::new();
// _ and ' ' are passed as it is from pattern
let output1 = sp_gen.generate(String::from("aa bbb cc__c nnnn"));
// ks HCP GB__q 6751
// You can pass a &[char] to exclude characters like vowels
sp_gen.exclude_chars(&['a','e','i','o','u']);
// -----------------------OR-------------------------------
// sp_gen.exclude_chars_from_vec(vec!['a','e','i','o','u']);
let output2 = sp_gen.generate(String::from("aaaaabbbb"));
// rynzfVVSG
// You can use s in the pattern to add you own custom chars
sp_gen.add_custom_chars_from_vec(vec!['♠', '♣', '♥', '♦', '←', '↑', '→', '↓', '↔']);
// ------------------- OR ---------------------------------
// sp_gen.add_custom_chars(&['♠', '♣', '♥', '♦', '←', '↑', '→', '↓', '↔']);
let output3 = sp_gen.generate(String::from("aaaa s aaaa"));
// wtjw ♠ slxf
// Lets generate a mixed string
let output4 = sp_gen.generate(String::from("aa nss___bc"));
}
待办事项
函数排除某些字符添加特殊字符
依赖关系
~315KB