Java 正在尝试对使用Formatter创建的字符串使用String.split()正则表达式
大家好我是新来的 我正在使用一个开源库(Matrix Toolkits for Java)中的以下代码,该库输出以下矩阵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
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());
}