Android 用于获取子字符串的开始和结束索引的Kotlin函数

Android 用于获取子字符串的开始和结束索引的Kotlin函数,android,string,kotlin,substring,Android,String,Kotlin,Substring,我想知道是否有一些方法或方法组合可以获得这些结果 我的意思是你有一个字符串,例如“你好,世界,你好吗?” 我想实现以下功能,以获得子字符串的开始和结束索引 在那条线上 例如,substring=“world”,开始索引为6,结束索引为10 标准kotlin库中是否有类似的内容?如果您只想第一次出现,您可以使用: fun main(args: Array<String>) { val str = "Hello world, how are you?"

我想知道是否有一些方法或方法组合可以获得这些结果

我的意思是你有一个字符串,例如“你好,世界,你好吗?” 我想实现以下功能,以获得子字符串的开始和结束索引 在那条线上

例如,substring=“world”,开始索引为6,结束索引为10


标准kotlin库中是否有类似的内容?

如果您只想第一次出现,您可以使用

fun main(args: Array<String>) {
    val str = "Hello world, how are you?"
    val sub = "world"
    println(getStartAndEndOfSubstring(str, sub))
}

fun getStartAndEndOfSubstring(str: String, sub: String): Pair<Int, Int> {
    val start = str.indexOf(sub)
    when (start != -1) {
        true -> return Pair(start, start + sub.length - 1)
        false -> return Pair(-1, -1)
    }
}

假设您只需要第一次出现,您可以使用

fun main(args: Array<String>) {
    val str = "Hello world, how are you?"
    val sub = "world"
    println(getStartAndEndOfSubstring(str, sub))
}

fun getStartAndEndOfSubstring(str: String, sub: String): Pair<Int, Int> {
    val start = str.indexOf(sub)
    when (start != -1) {
        true -> return Pair(start, start + sub.length - 1)
        false -> return Pair(-1, -1)
    }
}
像这样的

val s = "Hi there"
val substringToFind = "there"

val start = s.indexOf(substringToFind)
val end = start + substringToFind.length

println(s.substring(start,end))
输出:
有这样的东西吗

val s = "Hi there"
val substringToFind = "there"

val start = s.indexOf(substringToFind)
val end = start + substringToFind.length

println(s.substring(start,end))
输出:
那里