我有一个包含一些法语单词(带重音符号)的CSV文件。我想使用Java读取此文件,并将重音字母转换为非重音字母。例如,é应该被理解为e。我尝试过以下方法:
CSVReader reader = new CSVReader(new FileReader(file));
String[] line;
while ((line = reader.readNext()) != null) {
line[0] = Normalizer.normalize(line[0], Normalizer.Form.NFD)
.replaceAll("[^\\p{ASCII}]", "").replaceAll("[^a-zA-Z0-9:_']", "_");
System.out.println("LINE[0]: "+line[0]);
}
如果假设,该文件包含“Arts_et_Métiers”行,则输出为“Arts_et_MAtiers”,其中重音字母由“A”而非“e”替换。有什么我做错了吗?任何帮助将不胜感激。
感谢。