我見過其他人問過類似的問題,並遵循給予這些人的指示,但我仍然無法讓我的代碼正常工作。如何使用replaceAll方法替換雙引號"
try {
FileReader fr_p = new FileReader("p.txt");
BufferedReader in_p = new BufferedReader(fr_p);
String line = in_p.readLine();
for (;;) {
line = line.replaceAll("&","&");
line = line.replaceAll("<","<");
line = line.replaceAll(">",">");
line = line.replaceAll("\"",""");
people.add(line);
line = in_p.readLine();
if (line == null) break;
}
in_p.close();
} catch (FileNotFoundException e) {
System.out.println("File p.txt not found.");
System.exit(0);
} catch (IOException e) {
System.out.println("Error reading from file.");
System.exit(0);
}
這是我寫試圖採取一個文本文件中的一個單獨的行中的每個名字,並把它變成一個ArrayList,爲它們的XML實體替換特殊字符的代碼。然後我將它寫入一個HTML文件中。
我寫的代碼做到這一點就好了前三個字符,但是當它到達試圖改變任何雙引號來"
行,它不會改變他們,並最終給我â€
,而不是雙引號。我不知道還有什麼我應該改變我的代碼,以使其工作。
你能舉個例子你提供的代碼不工作的字符串的位置? –
如果你不想重新發明輪子,你也可以使用['StringEscapeUtils#escapeHtml4()'](https://commons.apache.org/proper/commons-lang/javadocs/api-release/org/來自Apache Commons Lang的apache/commons/lang3/StringEscapeUtils.html#escapeHtml4%28java.lang.String%29)。 –
請參見[UTF-8編碼調試圖表](http://www.i18nqa.com/debug/utf8-debug.html)。 – saka1029