生成字母数字字符串

时间:2015-05-06 08:58:08

标签: scala random

我需要一些测试公司名称,例如" rnd_company_blah23haf9"," rnd_company_g356fhg57"等

是否可以执行类似

的操作
import scala.util.Random
val company = s"rnd_company_${Random.alphanumeric take 10 ?????}"

如果有人可以填写?????当然。

3 个答案:

答案 0 :(得分:17)

使用.mkString("")String

创建Stream
scala> val company = s"rnd_company_${Random.alphanumeric take 10 mkString}"
company: String = rnd_company_BbesF0EY1o

答案 1 :(得分:2)

您有一个示例here

scala> val x = Random.alphanumeric
x: scala.collection.immutable.Stream[Char] = Stream(Q, ?)

scala> x take 10 foreach println
Q
n
m
x
S
Q
R
e
P
B

所以你可以试试这个:

   import scala.util.Random 
   val company = s"rnd_company_${(xx take 10).mkString}"

答案 2 :(得分:0)

比上面的答案冗长的东西,但这可以帮助您限制字母:

def randomText(textLength: Int = 10, alphabet: List[Char] = ('a' to 'd').toList) = {
    (1 to textLength).toList.map { charPos =>
        val randomIndex = (Math.random() * alphabet.length).floor.toInt
        alphabet(randomIndex)
    }.mkString("")
}