两个并发字符串替换为kotlin字符串

我有一个错误的指向palenthesis字符串,我想用同时替换同时,我可以做一个单一的替换方法,或者我应该使用循环?

比如我有这个字符串: 你需要额外的时间)或者钱(

这应该是这样的: 你需要额外的时间(或金钱)

Yes♂you♂can。

Regex的帮助下,你可以做很多事情。

即我们有一个"()"

 "()".replace(Regex("[()]")) { when (it.value) { "(" -> ")" ")" -> "(" else -> "" } } 

结果是")(" (我在Kotlin 1.2.10下测试)。
这个是非常可读的。

一个线性的方式,更棘手的是:

 "()".replace(Regex("[()]")) { ")("["()".indexOf(it.value[0])].toString() } 

这个是不可读的。