0

文字列から s のマップを取得する方法はありますjava.awt.Pointか? または、その文字列上の単一のポイントでも。たとえば、"xyz123\nabc123"座標(0, 1)は になります'a'

4

3 に答える 3

0

そのために組み込まれているものは何もありません。

その文字列を 2D 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'
于 2012-03-18T03:05:15.487 に答える
0

あなたの動機に疑問を呈するつもりはありませんが、ここに1つの方法があります:

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
于 2012-03-18T03:05:35.673 に答える
0

実行できますが、一般的な表現ではないため、実行されるとは思わないでください。

String は char 配列とそれほど変わらないため、これらが役立つ場合があります。

于 2012-03-18T02:58:59.750 に答える