Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用大写字母拆分字符串_Java_String - Fatal编程技术网

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])|[_]|[-]|[ ]");
但也存在一些问题:

  • x数组中的某些元素将为空
  • 对于第一个字符串,我想要“THIS”,但拆分的结果是“T”、“H”、“I”、“S”

  • 我应该如何改变分割以达到我的目的?你能帮我吗?

    试试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为了将来的参考,会显示带有`特殊字符'的环绕语句。我编辑了我的答案,因为我认为你的意思。当然,杜克林真的做到了。当然,杜克林真的做到了。