Java - 以类似2D数组的方式访问字符串中的字符?

时间:2013-07-10 19:04:37

标签: java string character

是否有一种或多或少的简单方法(无需自己实现)使用类似2D数组的语法访问字符串中的字符?

例如:

"This is a string\nconsisting of\nthree lines"

您可以使用'f' - 第二行,第13行访问(读/写)myString[1][12]

4 个答案:

答案 0 :(得分:6)

您可以使用split()函数。假设您的String分配给变量s,然后

String[] temp = s.split("\n");

返回一个数组,其中每个数组元素都是自己新行的字符串。然后就可以了

temp[1].charAt(3);

访问第一行的第3个字母(从零开始)(从零开始)。

答案 1 :(得分:2)

你可以这样做:

String myString = "This is a string\nconsisting of\nthree lines";
String myStringArr[] = myString.split("\n");
char myChar = myStringArr[1].charAt(12);

答案 2 :(得分:2)

要修改字符串中位置的字符,您可以使用StringBuffer

StringBuffer buf = new StringBuffer("hello");
buf.insert(3, 'F');
System.out.println("" + buf.toString());
buf.deleteCharAt(3);
System.out.println("" + buf.toString());

除了分裂成2D矩阵之外,应该自行实现。

答案 3 :(得分:1)

简单地说,没有。你唯一的选择是创建一个包装和插入该字符串的对象,然后提供一个合适的访问方法,例如。

new Paragraph(myString).get(1,12);

请注意,您不能将索引运算符[number]用于除数组之外的任何内容。