Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 正在尝试对使用Formatter创建的字符串使用String.split()正则表达式_Java_Regex_String_Split_Space - Fatal编程技术网

Java 正在尝试对使用Formatter创建的字符串使用String.split()正则表达式

Java 正在尝试对使用Formatter创建的字符串使用String.split()正则表达式,java,regex,string,split,space,Java,Regex,String,Split,Space,大家好我是新来的 我正在使用一个开源库(Matrix Toolkits for Java)中的以下代码,该库输出以下矩阵 1000 1000 5 3 5 1.000000000000e+00 我正在尝试进行字符串拆分,将返回10001000,5 我尝试使用String[]parts=str.trim().split(\\s”) 但是使用\s作为字符串标记似乎是错误的,您知道我应该使用什么来代替吗 非常感谢 pub

大家好我是新来的

我正在使用一个开源库(Matrix Toolkits for Java)中的以下代码,该库输出以下矩阵

  1000       1000                   5
     3          5  1.000000000000e+00
我正在尝试进行字符串拆分,将返回10001000,5

我尝试使用
String[]parts=str.trim().split(\\s”)

但是使用\s作为字符串标记似乎是错误的,您知道我应该使用什么来代替吗

非常感谢

public String toString() {
        // Output into coordinate format. Indices start from 1 instead of 0
        Formatter out = new Formatter();

        out.format("%10d %10d %19d\n", numRows, numColumns, Matrices
                .cardinality(this));

        for (MatrixEntry e : this)
            if (e.get() != 0)
                out.format("%10d %10d % .12e\n", e.row() + 1, e.column() + 1, e
                        .get());

        return out.toString();
    }

您应该在任意数量的空格上拆分,而不仅仅是单个空格。也就是说,向regexp中添加“+”,如下所示:

String[] parts = str.trim().split("\\s+"); 
也应该能够做你想做的事

String s = "  1000       1000                   5";
java.util.StringTokenizer st = new java.util.StringTokenizer(s);
while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
}