У меня есть строки Função
, Ãugent
, в которой мне нужно заменить символ, например ç
, ã
, Ã
с пустыми строками.
Как я могу сопоставить только символы, отличные от ASCII?
Я использую функцию
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 = Character.isISOControl(array[i]); // Is character ISO control
boolean bIgnorable = Character.isIdentifierIgnorable(array[i]); // Is Ignorable identifier
// Remove tab and other unwanted characters..
if (nVal == 9 || bISO || bIgnorable)
array[i] = ' ';
else if (nVal > 255)
array[i] = ' ';
}
newsrcdta = Arrays.charArrayToString(array);
return newsrcdta;
}
, но она не работает должным образом ... какие улучшения необходимы ... здесь у меня есть еще одна проблема - последняя строка заменяется пробелом, который создает дополнительное пространство в строке.