You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Kotlin正则表达式提取特定字符前后的目标字符串

Kotlin正则提取特定区间字符串的实现

正则表达式写法

要提取. 之后、:之前的内容,对应的正则表达式为:

\\.\\s+(.*?):

各部分含义:

  • \\.:匹配点号(正则中点号为特殊字符,需转义)
  • \\s+:匹配一个或多个空格,对应示例里的.
  • (.*?):非贪婪匹配任意字符,捕获目标内容
  • ::匹配冒号作为结束边界

Kotlin代码实现

通过Regex类配合find方法实现,匹配失败时返回null,也可改为返回空字符串:

fun extractTargetValue(input: String): String? {
    val regex = Regex("""\.\s+(.*?):""")
    return regex.find(input)?.groups?.get(1)?.value
}

// 测试示例
fun main() {
    val validString = "Item1. myResultValue: someother string"
    println(extractTargetValue(validString)) // 输出 myResultValue

    val invalidString = "No target here"
    println(extractTargetValue(invalidString)) // 输出 null
}

如果需要返回空字符串而非null,可修改返回逻辑:

return regex.find(input)?.groups?.get(1)?.value ?: ""

内容的提问来源于stack exchange,提问作者GK_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:55:21