1

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

例如:

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

'f'您可以在哪里访问(读/写)myString[1][12]- 第二行,第 13 行。

4

4 回答 4

6

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

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

这将返回一个数组,其中每个数组元素都是其自己的新行上的字符串。然后你可以做

temp[1].charAt(3);

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

于 2013-07-10T19:07:41.323 回答
2

你可以这样做:

String myString = "This is a string\nconsisting of\nthree lines";
String myStringArr[] = myString.split("\n");
char myChar = myStringArr[1].charAt(12);
于 2013-07-10T19:10:08.547 回答
2

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

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

除了拆分成二维矩阵之外,应该自行实现。

于 2013-07-10T19:16:13.873 回答
1

简而言之,没有。您唯一的选择是创建一个包装并插入该字符串的对象,然后提供合适的访问器方法,例如

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

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

于 2013-07-10T19:07:34.773 回答