gpt4 book ai didi

java正则表达式: conditionally spilt string by capital letters

转载 作者:行者123 更新时间:2023-11-30 03:06:21 29 4
gpt4 key购买 nike

我不熟悉正则表达式。也许这是一个简单的问题。给定一个字符串

XYZHelloWorldT

我需要返回一个字符串数组

{XYZ Hello World T}

也就是说,取所有以一个大写字母开头,后跟一个或多个小写字母多个大写字母的单词,后跟大写字母开始一个新单词。剩余部分由空位分隔,成为字符串数组中的其他元素。

我可以直接处理角色。只是想知道我是否可以直接在字符串的 split 方法中通过正则表达式来完成它?我发现了这样的东西Java: Split string when an uppercase letter is found但不知道如何用它来解决我的问题。谢谢

最佳答案

由于您可以有多个连续的大写字母,因此您希望对小写字母进行后向查找,并对大写字母进行前向查找:

(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])

如果您想支持其他语言,您应该使用posix character classes :

(?<=\\p{Lower})(?=\\p{Upper})|(?<=\\p{Upper})(?=\\p{Upper}\\p{Lower})
<小时/>

如果您的大小写字母介于小写和大写字母之间,则第一个交替将匹配。第二个 - 如果您位于一个大写字母和另一个大写字母之间,然后是小写字母。

关于java正则表达式: conditionally spilt string by capital letters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34686099/

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