我有這樣的:字符串替換不工作或Im啞巴?
for (String[] aZkratkyArray1 : zkratkyArray) {
String oldString = " " + aZkratkyArray1[0] + " ";
String firstString = aZkratkyArray1[0] + " ";
String newString = " " + aZkratkyArray1[1] + " ";
System.out.println(newString);
System.out.println(fileContentsSingle);
fileContentsSingle = fileContentsSingle.replaceAll(oldString, newString);
if (fileContentsSingle.startsWith(firstString)) {
fileContentsSingle = aZkratkyArray1[1] + " " + fileContentsSingle.substring(firstString.length(),fileContentsSingle.length());
}
}
fileContentsSingle只是一些普通的字符串,aZkratkyArray是陣列縮短的話,FE:
- HT,你好
- WRU,你是誰
所以,當fileContentsSingle = ht我是機器人 它應該最終:你好,我是機器人
或當fileContentsSingle =我是機器人HRU 它應該結束了:我是機器人,你是誰
但當我這個迭代後SYSOUT fileContentsSingle,或它在,字符串從未改變。
我試過replace和replaceAll,我嘗試了所有我能想到的。
哪裏錯了嗎?
編輯: 這是我如何導入陣列:
String[][] zkratkyArray;
try {
LineNumberReader lineNumberReader = new LineNumberReader(new FileReader("zkratky.csv"));
lineNumberReader.skip(Long.MAX_VALUE);
int lines = lineNumberReader.getLineNumber();
lineNumberReader.close();
FileReader fileReader = new FileReader("zkratky.csv");
BufferedReader reader = new BufferedReader(fileReader);
zkratkyArray = new String[lines + 1][2];
String line;
int row = 0;
while ((line = reader.readLine()) != null) {
String[] array = line.split(",");
for (int i = 0; i < array.length; i++) {
zkratkyArray[row][i] = array[i];
}
row++;
}
reader.close();
fileReader.close();
} catch (FileNotFoundException e) {
System.out.println("Soubor se zkratkami nenalezen.");
zkratkyArray = new String[0][0];
}
你的意思是'replace(String,String)'? – Kayaman 2014-11-25 08:14:27
是的,我的錯誤,這就是我的意思。 – Eypros 2014-11-25 08:24:23