gpt4 book ai didi

java - 仅在第一个匹配的正则表达式位置拆分字符串

转载 作者:行者123 更新时间:2023-11-29 08:29:15 24 4
gpt4 key购买 nike

我有这个字符串:“123456 - A,Bcd,789101 - E,Fgh”

我希望它分成:“123456 - A, Bcd”和“789101 - E, Fgh”。我怎样才能做到这一点?我应该使用什么 regexsplit 表达式?

我看到我可以使用 .matches(".*[a-z],\\s[0-9].*") 找到“Bcd”之后的逗号但是如何仅在该逗号处拆分字符串? .split(",\\s") 在逗号后跟空格处拆分...

我使用 JAVA 1.6。

最佳答案

您可以在逗号后跟 0+ 个空格、6 位数字、空格和一个连字符进行拆分:

String[] result = s.split(",\\s*(?=\\d{6} -)");

参见 regex demo .

图案细节

  • , - 逗号
  • \s* - 0+ 个空白字符
  • (?=\\d{6} -) - 正向前瞻(非消耗模式,它匹配的内容不会成为结果的一部分)需要 6 位数字后跟一个空格和 - 紧跟在当前位置的右侧。

关于java - 仅在第一个匹配的正则表达式位置拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49670803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com