Kotlin 正则表达式查找字符串组合:AxB
在 Kotlin 中,可以使用 Regex 类来进行正则表达式匹配。下面是一个示例代码,演示如何在长字符串 C 中找出所有符合 AxB 模式的字符串组合,并返回其起始和终点位置。
fun findAxBPositions(C: String, A: String, B: String): List<Pair<Int, Int>> {
val regex = Regex("$A$x$B")
val positions = mutableListOf<Pair<Int, Int>>()
val matchResults = regex.findAll(C)
for (matchResult in matchResults) {
val startIndex = matchResult.range.first
val endIndex = matchResult.range.last
positions.add(Pair(startIndex, endIndex))
}
return positions
}
fun main() {
val C = "ABCDEFABCXDEFAABCY"
val A = "ABC"
val B = "DEF"
val positions = findAxBPositions(C, A, B)
for (position in positions) {
println("起始位置: ${position.first}, 终点位置: ${position.second}")
}
}
上述代码中,findAxBPositions 函数接受三个参数:长字符串 C,字符串 A 和字符串 B。函数首先使用正则表达式 "$A$x$B" 创建一个 Regex 对象,其中 $A 和 $B 是字符串 A 和 B 的占位符。然后,使用 findAll 方法在长字符串 C 中查找所有匹配的 AxB。最后,将每个匹配的起始和终点位置存储在一个可变列表中,并返回该列表。
在 main 函数中,我们使用一个示例输入调用 findAxBPositions 函数,然后打印所有匹配的起始和终点位置。在上述示例中,输出将是:
起始位置: 0, 终点位置: 8
起始位置: 9, 终点位置: 17
原文地址: https://www.cveoy.top/t/topic/p6MM 著作权归作者所有。请勿转载和采集!