Заменить символ не ASCII из строки

У меня есть строки 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;
    }

, но она не работает должным образом ... какие улучшения необходимы ... здесь у меня есть еще одна проблема - последняя строка заменяется пробелом, который создает дополнительное пространство в строке.

67
задан rahulsri 16 December 2011 в 13:43
поделиться