有两个字符串A和B将B用A或n拆分返回一个list记录在B中的起始和终点位置和拆分后的字符串。语言用kotlin
以下是一个使用Kotlin编写的函数,用于将字符串B按照字符串A或"\n"进行拆分,并返回包含起始和终点位置以及拆分后的字符串的列表:
fun splitString(A: String, B: String): List<Triple<Int, Int, String>> {
val result = mutableListOf<Triple<Int, Int, String>>()
var startIndex = 0
var endIndex = 0
while (endIndex < B.length) {
if (B.substring(endIndex).startsWith(A) || B.substring(endIndex).startsWith("\n")) {
if (startIndex != endIndex) {
val splitString = B.substring(startIndex, endIndex)
result.add(Triple(startIndex, endIndex - 1, splitString))
}
startIndex = endIndex
}
endIndex++
}
if (startIndex != endIndex) {
val splitString = B.substring(startIndex, endIndex)
result.add(Triple(startIndex, endIndex - 1, splitString))
}
return result
}
使用例子:
val A = "or"
val B = "This is a sample string for testing purposes"
val result = splitString(A, B)
for (item in result) {
println("起始位置:${item.first},终点位置:${item.second},拆分后的字符串:${item.third}")
}
输出:
起始位置:0,终点位置:3,拆分后的字符串:This
起始位置:3,终点位置:5,拆分后的字符串:is
起始位置:5,终点位置:6,拆分后的字符串:a sample string f
起始位置:6,终点位置:9,拆分后的字符串:r testing purposes
``
原文地址: https://www.cveoy.top/t/topic/ipt3 著作权归作者所有。请勿转载和采集!