根据条件从字符串中获取随机位置

Get random position from String based on condition

我有一个这样的字符串变量:

var data = "FFFTTFFFT"

我想获得 'T' 的随机位置,出现在上面的字符串中,我正在这样做。

for (i in data.indices) {
    if (data [i] == 'T') someList.add(i) 
}

然后

var randPos = someList.random()

我可以使用循环来完成,但我想以惯用的方式来完成 科特林

国际海事组织的最短解决方案:

val tIndices = data.mapIndexedNotNull { i, c -> i.takeIf { c == 'T' } }