gpt4 book ai didi

java - 正则表达式在字母小写字符之后拆分大写字母

转载 作者:行者123 更新时间:2023-12-01 20:07:39 24 4
gpt4 key购买 nike

所以我试图用正则表达式和java中的split函数来分割字符串。当非大写字母后面有大写字母时,正则表达式应该分割字符串,如下所示

hHere      // -> should split to ["h", "Here"]

我正在尝试分割这样的字符串

String str = "1. Test split hHere and not .Here and /Here";
String[] splitString = str.split("(?=\\w+)((?=[^\\s])(?=\\p{Upper}))");
/* print splitString */
// -> should split to ["1. Test split h", "Here and not .Here and not /Here"]
for(String s : splitString) {
System.out.println(s);
}

我得到的输出

1. 
Test split h
Here and not .
Here and /
Here

我想要的输出

1. Test split h
Here and not .Here and not /Here

只是无法找出执行此操作的正则表达式

最佳答案

您可以使用更简单的模式:(?<=\p{Ll})(?=\p{Lu})

  • (?<= )确保给定的模式匹配,并在表达式中的当前位置结束。
  • (?= )断言给定的子模式可以在此处匹配,而不消耗字符

  • 两者都不消耗任何字符,非常重要!

<小时/>

str.split("(?<=[a-z])(?=[A-Z])");旧版本不适用于其他字母

关于java - 正则表达式在字母小写字符之后拆分大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47208075/

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