2012-03-18 108 views
0

有什麼辦法從字符串獲取java.awt.Point的地圖嗎?或者甚至只是該字符串上的一個點。例如對於"xyz123\nabc123",座標(0, 1)將是'a'Java從字符串獲取X-Y座標的地圖

+0

也許是我,但我不明白你的問題。 「xyz123 \ nabc123」如何表示(0,2)和(1,2)是y? – 2012-03-18 02:52:42

+0

對不起,我措辭嚴重。我改變了這個問題 – 2012-03-18 02:56:29

回答

0

沒有什麼內置了點。

您可以嘗試將該字符串解析爲二維char數組或char數組的向量(取決於您是否知道總共有多少行)。

鑑於「XYZ123 \ nabc123」爲str

//split it by newline, should work on windows/unix 
String lines[] = str.split("\\r?\\n"); 
char[][] map = new char[lines.length][]; 
//fill up map, each row is a new line 
for(int i = 0; i < lines.length; i ++) 
map[i] = lines[i].toCharArray(); 
//map[0][2] returns 'z' 
+0

感謝這是完美的。 – 2012-03-18 05:21:42

0

不會懷疑你的動機,但這裏是一個辦法:

String find(String[] a, int x, int y) { 
    try { 
     return String(a[x].charAt(y)); // or y+1 in your example 
    } 
    catch (Exception exc) { 
     return NULL; 
    } 
} 
... 

String s = "xyz123\nabc546"; 
String[] sa = s.split("\\n"); 

find(sa, 0, 0); // returns "x" 
find(sa, 1, 2); // returns "c" 
find(sa, 3, 2); // returns NULL