0

有没有办法java.awt.Point从字符串中获取 s 的映射?或者甚至只是该字符串上的一个点。例如"xyz123\nabc123"坐标(0, 1)'a'.

4

3 回答 3

0

它可以完成,但它不是一个常见的表示,所以不要指望找到它完成。

String 与 char 数组没有什么不同,因此这些可能会对您有所帮助:

于 2012-03-18T02:58:59.750 回答
0

没有内置的东西。

您可以尝试将该字符串解析为二维字符数组或字符数组向量(取决于您是否知道总共有多少行)。

给定“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

不会质疑您的动机,但这是一种方法:

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 回答