kotlin字符串中的两个并发字符串替换

问题描述 投票:2回答:1

我有一个错误的定向paranthesis字符串,我想替换(with)和)(同时,我可以使用一个替换方法,或者我应该使用循环?

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

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

string replace kotlin android-studio-3.0
1个回答
2
投票

Yes♂you♂can。

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

即我们有一个"()"

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

结果是")("(我在Kotlin 1.2.10下进行了测试)。 这个非常易读。

单线性方式,更棘手:

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

这个是不可读的。

© www.soinside.com 2019 - 2024. All rights reserved.