有沒有或多或少的簡單方法(而不必自己實現)來使用二維數組類語法訪問字符串中的字符?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語法,但我認爲您的原始佈局更易於理解! –