您可以将正则表达式使用零宽度正向超前-它可以找到大写字母,但不会将它们包括在定界符中:
String s = "thisIsMyString";String[] r = s.split("(?=\p{Upper})");
Y(?=X),
Y后跟
X,但不包含
X在match中。因此,
(?=\p{Upper})匹配一个空序列后跟一个大写字母,并将
split其用作定界符。
有关Java
regexp语法的更多信息,请参见javadoc。
编辑: 顺便说一下,它不起作用
thisIsMyÜberString。对于非ASCII大写字母,您需要Unipre大写字符类而不是POSIX:
String[] r = s.split("(?=\p{Lu})");
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)