[Kotlin]文字列(string)をランダムに生成するには?

Kotlin

どうも、ちょげ(@chogetarou)です。

文字列(string)をランダムに生成する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列(string)をランダムに生成するには、範囲やリストを使います。

まず、ランダムな文字列に使う文字をまとめた範囲もしくはリストを生成します。

1から文字列の長さまでの範囲からmap()を呼び出します。

map()のクロージャーで、文字をまとめた範囲もしくはリストから呼び出したrandom()を返します。

そして、map()から引数に「””」を指定したjoinToString()を呼び出します。

//len=ランダムな文字列の長さ
fun getRandomHiragana(len: Int) : String {
    val chars = ・・・ //ランダムな文字列に使う文字をまとめた範囲もしくはリスト
    return (1..len)
        .map { chars.random() }
        .joinToString("")
}

上記のjoinToString()は、最初に用意した範囲もしくはリストの文字からランダムな文字列(string)を生成します。

スポンサーリンク

使用例

fun getRandomAlphabet(len: Int) : String {
    val chars = ('A'..'Z') + ('a'..'z')
    return (1..len)
        .map { chars.random() }
        .joinToString("")
}

fun main() {
    println(getRandomAlphabet(5))
    println(getRandomAlphabet(10))
    println(getRandomAlphabet(20))
}
出力:
HJyBZ
gyMADFFjRy
jpHojDrYNPzkyskUVLyu

使用例2

fun getRandomHiragana(len: Int) : String {
    val chars = 'あ'..'ん'
    return (1..len)
        .map { chars.random() }
        .joinToString("")
}

fun main() {
    println(getRandomHiragana(5))
    println(getRandomHiragana(10))
    println(getRandomHiragana(20))
}
出力:
かるゑとょ
しぷべりそねほばばを
ふのょほたりびぱめとぼじせたげぺれふょね

コメント

タイトルとURLをコピーしました