尝试使用String.split()对字符串使用正则表达式创建格式化
题
大家好,我是新来的,
我使用下面的代码从一个开源库(矩阵工具箱为Java),其输出如下矩阵
1000 1000 5
3 5 1.000000000000e+00
我试图做一个字符串分割,将返回我1000,1000,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();
}
解决方案
您应该拆分任意数量的空间,而不仅仅是单一的。也就是说,加上“+”你的正则表达式是这样的:
String[] parts = str.trim().split("\\s+");
其他提示
的StringTokenizer 还应该可以做你想做的。
String s = " 1000 1000 5";
java.util.StringTokenizer st = new java.util.StringTokenizer(s);
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
不隶属于 StackOverflow