是否有一种或多或少简单的方法(无需自己实现)来使用类似二维数组的语法访问字符串中的字符?
例如:
"This is a string\nconsisting of\nthree lines"
'f'
您可以在哪里访问(读/写)myString[1][12]
- 第二行,第 13 行。
您可以使用 split() 函数。假设您的 String 被分配给变量 s,那么
String[] temp = s.split("\n");
这将返回一个数组,其中每个数组元素都是其自己的新行上的字符串。然后你可以做
temp[1].charAt(3);
访问第一行(从零开始)的第三个字母(从零开始)。
你可以这样做:
String myString = "This is a string\nconsisting of\nthree lines";
String myStringArr[] = myString.split("\n");
char myChar = myStringArr[1].charAt(12);
要修改字符串中位置的字符,您可以使用StringBuffer
StringBuffer buf = new StringBuffer("hello");
buf.insert(3, 'F');
System.out.println("" + buf.toString());
buf.deleteCharAt(3);
System.out.println("" + buf.toString());
除了拆分成二维矩阵之外,应该自行实现。
简而言之,没有。您唯一的选择是创建一个包装并插入该字符串的对象,然后提供合适的访问器方法,例如
new Paragraph(myString).get(1,12);
请注意,您不能将索引运算符[number]
用于数组以外的任何内容。