Ho il seguente problema. Sto cercando di sostituire le dieresi tedesche come , ö, ü in java. Ma semplicemente non funziona. Qui è il mio codice:java sostituisce le dieresi tedesche
private static String[][] UMLAUT_REPLACEMENTS = { { "Ä", "Ae" }, { "Ü", "Ue" }, { "Ö", "Oe" }, { "ä", "ae" }, { "ü", "ue" }, { "ö", "oe" }, { "ß", "ss" } };
public static String replaceUmlaute(String orig) {
String result = orig;
for (int i = 0; i < UMLAUT_REPLACEMENTS.length; i++) {
result = result.replaceAll(UMLAUT_REPLACEMENTS[i][0], UMLAUT_REPLACEMENTS[i][1]);
}
return result;
}
Un ä rimane un ä e così via. Non so se questo problema ha qualcosa a che fare con la codifica, ma la stringa contiene il carattere esatto che sto cercando di sostituire.
Grazie in anticipo
Ho appena testato e funziona come previsto, il problema deve essere altrove. – Tunaki
Funziona come previsto. Dovresti anche considerare l'uso di 'String # replace' invece di' String # replaceAll', dato che hai a che fare con letterali e non con espressioni regolari. – Mena
Si consiglia di verificare l'input dei metodi. Come stai inserendo i dati per il metodo? Hard coded? Via CLI? – Jan