2012-03-18 32 views
0

文字列からjava.awt.Pointのマップを取得する方法はありますか?または、そのString上の単一の点でさえ。例えば、"xyz123\nabc123"座標(0, 1)の場合は'a'となります。Java文字列からX-Y座標のマップを取得

+0

はたぶんそれは私ですが、私はあなたの質問を理解していません。 "xyz123 \ nabc123"は(0,2)と(1,2)がyであることをどのように示していますか? –

+0

申し訳ありませんが、ひどく言いました。私は質問を変更しました –

答えて

0

ビルトインそのためには何もありません。

文字列を2Dのchar配列またはchar配列のベクトルに解析できます(合計行数が分かっているかどうかによって異なります)。

strとして「XYZ123 \ nabc123」を考える:

//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

ありがとう、これは完璧です。 –

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 
関連する問題