2009-03-12 28 views
2

Hi Burada yeni gelen,aşağıdaki verir Biçimlendirici

Ben bir açık kaynak kitaplığı (Java için Matrix Toolkits) den aşağıdaki kodu kullanıyorum duyuyorum Tüm ile oluşturulan matris

1000  1000     5 
    3   5 1.000000000000e+00 

ben String[] parts = str.trim().split("\\s");

ama i kullanarak çalıştı bana 1000,1000,5

dönecektir string bölünmüş yapmaya çalışıyorum Bir String Token yanlış olduğu gibi \ 's kullanıyor gibi görünüyor, bunun yerine ne kullanmalıyım?

çok teşekkürler!

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(); 
    } 

cevap

3

Yalnızca tek olanlar için değil, herhangi bir alana bölmelisiniz. Yani, "+" senin regexp için böyle eklemek edilir:

String[] parts = str.trim().split("\\s+"); 
+0

Hızlı yanıt için teşekkürler! işe yarıyor! – freshWoWer

2

StringTokenizer da istediğini yapmak mümkün olmalıdır.

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

güzel alternatif çözüm de teşekkürler! – freshWoWer

İlgili konular