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

Java字符串拆分问题:如何按MRS得到预期拆分结果?

解决方案

调整拆分正则为正向前瞻断言,代码如下:

String input = "Alison Quek Yong Hoon MRS Alison Teng Yong Hoon";
String[] output = input.split("(?=\\s(MRS|MRS\\.))");

执行后得到的结果:

  • Alison Quek Yong Hoon
  • MRS Alison Teng Yong Hoon

原因说明

原代码使用的是(?<=(MRS\\s|MRS\\.)),这是正向后顾断言,它会在匹配到MRS 或MRS.的后方位置进行拆分,导致MRS被留在前半段。

而调整后的(?=\\s(MRS|MRS\\.))是正向前瞻断言,它会在匹配到 MRS或 MRS.的前方位置(也就是MRS前的空格之后)拆分,这样就将MRS及后续内容分到了后半段,符合预期结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 21:34:58