我见过其他人问过类似的问题,并遵循给予这些人的指示,但我仍然无法让我的代码正常工作。如何使用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