【发布时间】:2016-01-07 21:32:49
【问题描述】:
我正在尝试生成一个随机字符串,这些是我发现的可能性:
-
Random.nextPrintableChar(),打印字母、数字、标点符号 -
Random.alphanumeric.take(size).mkString,打印字母和数字 -
Random.nextString(1),几乎每次都会打印中文字符lol
随机是 scala.util.Random
size是一个整数
第二个选项几乎可以完成这项工作,但我需要从一个字母开始。我找到了Random.nextPrintableChar(),但它也打印了标点符号。
解决办法是什么?
到目前为止我的解决方案是:
val low = 65 // A
val high = 90 // Z
((Random.nextInt(high - low) + low).toChar
灵感来自Random.nextPrintableChar 实现:
def nextPrintableChar(): Char = {
val low = 33
val high = 127
(self.nextInt(high - low) + low).toChar
}
【问题讨论】: