我有一个错误的定向paranthesis字符串,我想用替换(与)和)(同时,我可以使用一个替换方法来执行此操作,还是应该使用循环?
例如我有这个字符串:你需要额外的时间)或金钱(
这应该是这样的:你需要额外的时间(或金钱)
答案 0 :(得分:2)
Yes♂you♂can。
在Regex
的帮助下,你可以做很多事情。
即。我们有"()"
:
"()".replace(Regex("[()]")) {
when (it.value) {
"(" -> ")"
")" -> "("
else -> ""
}
}
结果是")("
(我在Kotlin 1.2.10下进行了测试)
这个非常易读。
单线性方式,更棘手:
"()".replace(Regex("[()]")) { ")("["()".indexOf(it.value[0])].toString() }
这个是不可读的。