Две параллельные строки заменяются в строке kotlin

У меня есть строка с неправильным направлением, я хочу заменить ( с ) и ) ( в то же время, могу ли я сделать это с помощью одного метода замены или использовать цикл?

Например, у меня есть эта строка: вам нужно дополнительное время) или деньги (

Что должно быть так: вам нужно дополнительное время (или деньги)

Yes♂you♂can.

С помощью Regex вы можете многое сделать.

т.е. мы имеем "()" :

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

И результат ")(" (я тестировал его под Kotlin 1.2.10).
Это очень читаемо.

Однолинейный путь, более сложный:

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

Это невозможно прочитать.