J'ai des chaînes "A função"
, "Ãugent"
dans lesquelles je dois remplacer des caractères comme ç
, ã
, et Ã
par des chaînes vides.
Comment puis-je supprimer ces caractères non-ASCII de ma chaîne ?
J'ai essayé d'implémenter cela en utilisant la fonction suivante, mais cela ne fonctionne pas correctement. Un problème est que les caractères indésirables sont remplacés par le caractère espace.
public static String matchAndReplaceNonEnglishChar(String tmpsrcdta) {
String newsrcdta = null;
char array[] = Arrays.stringToCharArray(tmpsrcdta);
if (array == null)
return newsrcdta;
for (int i = 0; i < array.length; i++) {
int nVal = (int) array[i];
boolean bISO =
// Est-ce un caractère de contrôle ISO
Character.isISOControl(array[i]);
boolean bIgnorable =
// Est-ce un identifiant ignoré
Character.isIdentifierIgnorable(array[i]);
// Supprimer le tabulation et d'autres caractères indésirables..
if (nVal == 9 || bISO || bIgnorable)
array[i] = ' ';
else if (nVal > 255)
array[i] = ' ';
}
newsrcdta = Arrays.charArrayToString(array);
return newsrcdta;
}