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

Kotlin中如何仅分割作为键值对分隔符的|字符

Kotlin中正确分割含特殊|的键值对字符串

直接用带正向预查的正则表达式来分割,就能避开value中带空格的|,只分割分隔不同键值对的|:

val input = "test=hey|test2=hey | hey|test3=hey | hey | hey|test4=|test5=bye"
val splitResult = input.split(Regex("""\|(?=\w+=)"""))

// 输出验证
splitResult.forEach { println(it) }

正则说明

  • \|:匹配字面量的|(正则里|是特殊元字符,必须转义)
  • (?=\w+=):正向预查,确保当前匹配的|后面紧跟的是「一个或多个字母/数字/下划线(对应键名)+ 等于号」,这样就只会识别分隔不同键值对的|,不会误分割value里带空格的|。

执行后输出结果完全符合需求:

test=hey
test2=hey | hey
test3=hey | hey | hey
test4=
test5=bye

如果你的键名可能包含下划线以外的特殊字符(比如连字符),可以把正则里的\w+替换成更贴合的规则,比如[a-zA-Z0-9_-]+来兼容带连字符的键名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 10:35:14