两个并发字符串替换为kotlin字符串
我有一个错误的指向palenthesis字符串,我想用(同时)替换(同时,我可以做一个单一的替换方法,或者我应该使用循环?
比如我有这个字符串: 你需要额外的时间)或者钱(
这应该是这样的: 你需要额外的时间(或金钱)
Yes♂you♂can。
在Regex
的帮助下,你可以做很多事情。
即我们有一个"()"
:
"()".replace(Regex("[()]")) { when (it.value) { "(" -> ")" ")" -> "(" else -> "" } }
结果是")("
(我在Kotlin 1.2.10下测试)。
这个是非常可读的。
一个线性的方式,更棘手的是:
"()".replace(Regex("[()]")) { ")("["()".indexOf(it.value[0])].toString() }
这个是不可读的。
- 如何在Android Studio 3.0 beta 5中创建一个Android项目?
- 不寻常的崩溃只有在一些设备 – 异步调用kotlin协同程序
- Android Studio 3.1 Canary 3上的Gradle同步错误
- Kotlin和RxJava2 zip运算符 – 以下函数都不能用提供的参数调用
- 使用Android Studio 3.0 beta7版本时,Kotlin注释处理器会导致编译时错误
- “包含Kotlin支持”checkbox不在Android Studio 3.0 Canary 5中
- 在子模块中的Android数据绑定
- 无法获取提供者android.arch.lifecycle.LifecycleRuntimeTrojanProvider:java.lang.ClassNotFoundException
- 无法使用Kotlin访问EditText或其他UI组件