gpt4 book ai didi

Android Kotlin正则表达式替换一个子串,获取被替换的子串

转载 作者:行者123 更新时间:2023-11-30 00:06:41 25 4
gpt4 key购买 nike

如果我有一个字符串,比如说,

"Hello, world!" 

和一个正则表达式方程是

"world".toRegex()

我打电话

"Hello, world!".replace("world".toRegex(), "universe")

我得到结果字符串

"Hello, universe!"

这一切都按预期工作......但是如果我想保留我取出的那个字符串的副本怎么办?我想在变量中保留“world”的副本。

最佳答案

您可以使用回调 String#replace()方法并在其中分配一个变量:

var needle = ""
val result = "Hello, world!".replace("world".toRegex()) { needle = it.value; "universe" }
println("Replacement result: " + result)
println("Found match: " + needle)

结果:

Replacement result: Hello, universe!
Found match: world

参见 online Kotlin demo .

您可以使用 MutableList<String>保存匹配项列表并将找到的匹配项添加到其中:

var needle = mutableListOf<String>()
val result = "Hello, world! This world is too small.".replace("world".toRegex()) { needle.add(it.value); "universe" }

结果:

Replacement result: Hello, universe! This universe is too small.
Found match: [world, world]

参见 another Kotlin demo .

关于Android Kotlin正则表达式替换一个子串,获取被替换的子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48853752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com