是否有一种或多或少的简单方法(无需自己实现)使用类似2D数组的语法访问字符串中的字符?
例如:
"This is a string\nconsisting of\nthree lines"
您可以使用'f'
- 第二行,第13行访问(读/写)myString[1][12]
。
答案 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]
用于除数组之外的任何内容。