生成随机字符串

2023-12-30

好吧,我知道有很多这样的线程,但我对 vb.net 很陌生,但我无法编辑给出的源代码来制作我真正想要的内容 所以我想要一个函数,它将生成随机字符串,每个字符串包含 15-32 个字符,每个字符串将具有以下字符(并非全部在同一字符串,但其中一些字符): A-Z a-z 0-9 到目前为止,这是我的代码

Functon RandomString()
    Dim s As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    Dim r As New Random
    Dim sb As New StringBuilder
    For i As Integer = 1 To 8
        Dim idx As Integer = r.Next(0, 35)
        sb.Append(s.Substring(idx, 1))
    Next
    return sb.ToString()
End Function

更改字符串以包含 a-z 字符:

Dim s As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"

更改循环以创建随机数量的字符:

Dim cnt As Integer = r.Next(15, 33)
For i As Integer = 1 To cnt

请注意,上边界Next方法是排他的,所以Next(15, 33)为您提供一个范围从 15 到 32 的值。

使用字符串的长度从中选择一个字符:

Dim idx As Integer = r.Next(0, s.Length)

由于您要创建随机字符串,而不是单个随机字符串,因此不应在函数内创建随机数生成器。如果您在时间上过于接近地调用该函数两次,您最终会得到相同的随机字符串,因为随机生成器是使用系统时钟进行播种的。因此,您应该将随机生成器发送到函数中:

Function RandomString(r As Random)

所以,总而言之:

Function RandomString(r As Random)
  Dim s As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
  Dim sb As New StringBuilder
  Dim cnt As Integer = r.Next(15, 33)
  For i As Integer = 1 To cnt
    Dim idx As Integer = r.Next(0, s.Length)
    sb.Append(s.Substring(idx, 1))
  Next
  return sb.ToString()
End Function

使用示例:

Dim r As New Random
Dim strings As New List<string>()
For i As Integer = 1 To 10
  strings.Add(RandomString(r))
Next
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成随机字符串 的相关文章

  • Python 中聚类相似字符串的算法?

    我正在编写一个脚本 该脚本当前包含多个 DNA 序列列表 每个列表都有不同数量的 DNA 序列 并且我需要根据汉明距离相似性对每个列表中的序列进行聚类 我当前的实现 目前非常粗糙 提取列表中的第一个序列并计算每个后续序列的汉明距离 如果它在
  • Enum.GetName 与 Enum.ToString

    对于这个枚举 Enum MyEnum Value End Enum 有两种方法获取名称表示Value of MyEnum Value Enum GetName GetType MyEnum MyEnum Value aka Enum Get
  • 给定 2 个句子字符串计算余弦相似度

    From Python tf idf cosine 查找文档相似度 https stackoverflow com questions 12118720 python tf idf cosine to find document simil
  • 将 DataTable 的单列转换为 CSV

    使用 VB NET 将 DataTable 的单列转换为 CSV 的最简洁方法是什么 这些值是整数 所以我不需要担心字符转义或编码 转换为 CSV 是什么意思 如果你想生成一个以逗号分隔值的字符串 你可以使用 this tbl是你的数据表和
  • 如何设置一个 C 函数,将用户输入拆分为多个部分,并拆分这些较小的部分?

    我正在尝试开发一个接受一行用户输入的 C 函数 例如这一行 1X 1X 3Y 1Z 1Z 1Z 1Z 2X 2X 编辑 这只是用户输入内容的任意示例 在实际程序中 他们可以输入 1 到 48 个数字字符对之间的任意位置 这个想法是 用户将插
  • 从一个方法返回两个变量

    下面的代码如何正确书写 public String toString int position int xOffset int yOffset String postn String format d d position 0 positi
  • sprintf 与 String.Format 的性能[重复]

    这个问题在这里已经有答案了 我正在比较 sprintf 用法的性能 并对我所看到的感到有点困扰 我测试了以下 4 个方法 将 ClassWithToString 的实例传递给每个方法 PrintInt 除外 它接收实际的整数值 type C
  • 如何在 Swift 中按换行符分割字符串

    我有一个从文本文件中获得的字符串 文本文件 Line 1 Line 2 Line 3 我想将其转换为数组 每行一个数组元素 Line 1 Line 2 Line 3 根据文件的保存方式 字符串可能采用以下形式之一 string Line 1
  • Haskell 中的随机枢轴快速排序

    是否有可能在 Haskell 中实现快速排序 使用 RANDOM PIVOT 但仍然有一个简单的Ord a gt a gt a 签名 我开始了解 Monad 目前 我将 monad 解释为某种 命令模式 这对于 IO 非常有用 所以 我知道
  • 简单 C 字符串函数上的 Valgrind 错误

    让我们考虑这个简单的测试程序 include
  • 将字符串数组转换为字节数组

    好吧 在有人试图将其标记为重复之前 我是not要求将字符串转换为字节数组 我想要一个字符串数组 包含类似这样的内容 5 168 188 28 29 155 转换为字节数组 我已经搜索过 只能找到字符串到字节数组 这是完全不同的 谢谢 编辑
  • 如何从 Java 中的 Random 中获取种子?

    我正在为某个对象创建深度克隆 该对象包含一个Random 从种子中取回种子是个好习惯吗 Random 如果是这样 怎么办 没有一个Random getSeed 获取种子的一种更简单的方法是生成一个种子并将其存储为种子 我正在游戏中使用这种方
  • 是否可以反转伪随机数生成器?

    是否可以反转伪随机数生成器 例如 获取生成数字的数组并获取原始种子 如果是这样 这将如何实施 这绝对是可能的 您只需创建一个适合您目的的 PRNG 即可 这完全取决于您需要完成的任务 如果您更详细地描述您的情况 我很乐意提供更多建议 对于一
  • 尝试获取类型 LogWriter、键“”的实例时发生激活错误?

    我有 ASP NET 网站 我添加了参考Microsoft Practices EnterpriseLibrary Logging dll到该网站 在 web config 文件中 定义如下
  • 将子字符串从 char* 复制到 std::string 的优雅方法

    我有这个char char line This is a great day string subLine 我要那个subLine会包括 is a great 从第 5 处复制 接下来的 10 个字符 有没有办法做到这一点而不是转换char
  • 解析字符串

    我有一个格式为 ABCDEFG 12 34 56 78 90 11 的字符串 我想将这两个用逗号分隔的值分隔成两个不同的字符串 我如何使用 c 语言在 gcc 中做到这一点 一种可能性是这样的 char first 20 second 20
  • 在运行时从调试可视化工具中检测源语言

    我正在写一个Visual Studio 的调试可视化工具 https github com zspitz ExpressionToString visual studio debugger visualizer for expression
  • Python 按照层次结构按多个分隔符分割字符串

    我只想根据多个分隔符 例如 and 和 按顺序分割字符串一次 例子 121 34 adsfd gt 121 34 adsfd dsfsd and adfd gt dsfsd adfd dsfsd adfd gt dsfsd adfd dsf
  • Java字符串查找和替换的最佳方法?

    我正在寻找 Java 中字符串查找和替换的最佳方法 这是一句话 我的名字叫米兰 人们都知道我叫米兰瓦西奇 我想用 Milan Vasic 替换 Milan 弦 但在我已经有 Milan Vasic 的地方 情况不应该是这样 搜索 替换后的结
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi

随机推荐