繁体   English   中英

在分隔符之前按空格分隔字符串,同时保留它

[英]Splitting a string by space before delimiter, while keeping it

好的,因此我在整个Google和此网站中进行了搜索,但没有找到可以解决此问题的解决方案。 我有一个字符串,例如“ javaRegexConfusion”,我想用大写字母拆分,同时还要保留它们。 这里的问题是,如果我要直接用大写字母拆分,则一种方法将使我完全不使用字母,而我知道的另一种方法会将它们拆分为数组中自己的对象。 我想要的上面字符串中的结果是一个由“ java”,“ Regex”和“ Confusion”组成的数组。 我完全不确定如何去做。 我确信解决方案非常简单,但是我不知道该如何表达我要查找的内容,因此标题令人困惑。

编辑:在完全脱离主题的任务中找到了答案。 我对接受的正则表达式不是很熟悉,也永远不会想通

虽然我喜欢AlexWien的答案,但我更喜欢这种方法。 另一个答案的作者不是反复遍历然后在大写字母处拆分,而是在任何大写字母之前拆分。

String[] output = input.split("(?=(?!^)[A-Z])");

我真的很喜欢这种方法,从现在开始很可能会使用它(可惜的是,我不看它就永远不会记得"(?=(?!^)[AZ])")

如果找到一个字符isUpperCase() ,则逐个字符地迭代字符串,然后将其复制到结果字符串数组。 存储当前位置,然后继续。

采用

Character.isUpperCase(s.charAt(pos))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM