Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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_Regex_String_Split - Fatal编程技术网

Java-拆分字符串?

Java-拆分字符串?,java,regex,string,split,Java,Regex,String,Split,我的绳子是 String myString = "Hello Boom, Ho3w are || You ? Are ^ you ," fr45ee now ?"; 我试着用下面的方法把绳子分开 “您好,Boom,Ho3w,are,You,are,You,fr45ee,now”-其中逗号表示字符串到字符串数组的分隔。我的代码是 String[] temp = data.split("\\s+\\^,?\"'\\|+"); 但这是行不通的。希望你们能帮上忙。谢谢。我相信

我的绳子是

   String myString = "Hello   Boom,  Ho3w are || You ? Are  ^  you ," fr45ee   now ?";
我试着用下面的方法把绳子分开

“您好,Boom,Ho3w,are,You,are,You,fr45ee,now”-其中逗号表示字符串到字符串数组的分隔。我的代码是

  String[] temp = data.split("\\s+\\^,?\"'\\|+");

但这是行不通的。希望你们能帮上忙。谢谢。

我相信这应该行得通:

String myString = "Hello   Boom,  Ho3w are || You ? Are  ^  you ,\" fr45ee   now ?";
String[] arr = myString.split("\\W+");
//=> [Hello, Boom, Ho3w, are, You, Are, you, fr45ee, now]

您的示例无法编译,因为在
myString
变量中有一个未替换的双引号

但是,假设它是转义的

//                                                               | escaped " here
String myString = "Hello   Boom,  Ho3w are || You ? Are  ^  you ,\" fr45ee   now ?";
//                 | printing array
//                 |               | splitting "myString"...
//                 |               |               | on 1 or more non-word 
//                 |               |               | characters
System.out.println(Arrays.toString(myString.split("\\W+")));
输出

[Hello, Boom, Ho3w, are, You, Are, you, fr45ee, now]

如果您实际上只是试图拆分原始正则表达式中的字符,那么应该将
+
分解出来,并将所有内容放入一个字符类中

public class Split {
    public static void main(String[] args) {
        String myString = "Hello   Boom,  Ho3w are || You ? Are  ^  you ,\" fr45ee   now ?";
        String[] temp = myString.split("[\\s\\^,?\"'\\|]+");
        for (int i = 0; i < temp.length; i++)
            System.out.println(temp[i]); 
    }
}

myString
不是正确的字符串。您需要转义
字符。
Hello
Boom
Ho3w
are
You
Are
you
fr45ee
now