Java 用大写字母拆分字符串
我有一些字符串,我想逐字拆分它们。它们有不同的格式,如:Java 用大写字母拆分字符串,java,string,Java,String,我有一些字符串,我想逐字拆分它们。它们有不同的格式,如: THIS-IS-MY-STRING ThisIsMyString This_Is_My_String This is my string 我使用: String[] x = str1.split("(?=[A-Z])|[_]|[-]|[ ]"); 但也存在一些问题: x数组中的某些元素将为空 对于第一个字符串,我想要“THIS”,但拆分的结果是“T”、“H”、“I”、“S” 我应该如何改变分割以达到我的目的?你能帮我吗?试试Regex
THIS-IS-MY-STRING
ThisIsMyString
This_Is_My_String
This is my string
我使用:
String[] x = str1.split("(?=[A-Z])|[_]|[-]|[ ]");
但也存在一些问题:
我应该如何改变分割以达到我的目的?你能帮我吗?试试Regex.Split()。第一个参数是要拆分的字符串,第二个字符串是正则表达式。希望这有帮助。试试Regex.Split()。第一个参数是要拆分的字符串,第二个字符串是正则表达式。希望这能有所帮助。您还需要包括“回头看”,给您:
String[] x = str1.split("([-_ ]|(?<=[^-_ A-Z])(?=[A-Z]))");
您还需要包括“回头看”,如下所示:
String[] x = str1.split("([-_ ]|(?<=[^-_ A-Z])(?=[A-Z]))");
[A-Z]
匹配任何大写字符。因此,此
将在每个字符后拆分,因此,T
,H
,I
,S
[A-Z]
匹配任何大写字符。因此,这个
将在每个字符后拆分,因此,T
,H
,I
,S
@user1832388请记住,您会发现有用的答案。还有一个问题,我有一个类似于CITY的字符串,字符串[]x=str1.split([-]|(?@user1832388为便于将来参考,将显示带有`的环绕语句,因此会显示特殊字符。我编辑了我的答案,以了解您的意思。@user1832388请记住您认为有用的答案。还有一个问题,我有一个类似CITY的字符串,字符串[]x=str1.split([-]|(?@user1832388为了将来的参考,会显示带有`特殊字符'的环绕语句。我编辑了我的答案,因为我认为你的意思。当然,杜克林真的做到了。当然,杜克林真的做到了。