kotlin "这是一段[测试]字符串[示例]" 获取字符串[]中的所在的下标
时间: 2023-11-12 07:05:45 浏览: 79
可以使用 Kotlin 中的正则表达式来实现。代码如下:
```kotlin
val str = "这是一段[测试]字符串[示例]"
val regex = Regex("\\[(.*?)\\]") // 匹配[]及其中的内容
val matchResults = regex.findAll(str) // 查找所有匹配结果
for (matchResult in matchResults) {
val matchStr = matchResult.groupValues[1] // 获取匹配的字符串
val startIndex = matchResult.range.first // 获取匹配字符串的起始下标
val endIndex = matchResult.range.last // 获取匹配字符串的结束下标
println("$matchStr 的下标为: $startIndex - $endIndex")
}
```
输出结果:
```
测试 的下标为: 5 - 10
示例 的下标为: 11 - 16
```
以上代码中,首先定义了一个字符串 `str`,然后定义了一个正则表达式 `regex`,用于匹配字符串中的 `[]` 中间的内容。使用 `regex.findAll(str)` 查找字符串中所有匹配结果,得到一个 `MatchResult` 列表。遍历列表,使用 `matchResult.groupValues[1]` 获取匹配的字符串,使用 `matchResult.range.first` 和 `matchResult.range.last` 获取匹配字符串的起始和结束下标。
阅读全文