string.split () regex를 사용하려고 시도
문제
안녕하세요 저는 모두 새로 온 사람입니다.
다음 행렬을 출력하는 오픈 소스 라이브러리 (Java 용 Matrix Toolkits)에서 다음 코드를 사용하고 있습니다.
1000 1000 5
3 5 1.000000000000e+00
나는 나에게 1000,1000,5를 반환 할 문자열 분할을하려고한다.
나는 사용을 시도했다 String[] parts = str.trim().split("\\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+");
다른 팁
StringTokenizer 또한 원하는 것을 할 수 있어야합니다.
String s = " 1000 1000 5";
java.util.StringTokenizer st = new java.util.StringTokenizer(s);
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
제휴하지 않습니다 StackOverflow