有没有或多或少的简单方法(而不必自己实现)来使用二维数组类语法访问字符串中的字符?Java - 以二维数组的方式访问字符串中的字符?
例如:
"This is a string\nconsisting of\nthree lines"
在哪里,你可以访问(读/写)'f'
的东西像myString[1][12]
- 第二行第13列。
有没有或多或少的简单方法(而不必自己实现)来使用二维数组类语法访问字符串中的字符?Java - 以二维数组的方式访问字符串中的字符?
例如:
"This is a string\nconsisting of\nthree lines"
在哪里,你可以访问(读/写)'f'
的东西像myString[1][12]
- 第二行第13列。
您可以使用split()函数。假设你的字符串是分配给变量s,然后
String[] temp = s.split("\n");
返回数组,其中每个数组元素是对自己的新行的字符串。然后,你可以做
temp[1].charAt(3);
要进入第三个字母(从零开始)的第一线(从零开始)。
不错,这很直接。 –
太好了。谢谢,这很接近我想要的。 –
简而言之,没有。您唯一的选择是创建一个包装和插入该字符串的对象,然后提供一个合适的存取方法,例如
new Paragraph(myString).get(1,12);
请注意,您不能将索引运算符[number]
用于数组以外的任何其他值。
你可以做这样的:
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());
其他为二维矩阵应该自我实现。
我明白为什么要编辑以显示有效的Java语法,但我认为您的原始布局更易于理解! –