I have strings "A função"
, "Ãugent"
in which I need to replace characters like ç
, ã
, and Ã
带有空字符串。
如何从我的字符串中删除那些非 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 =
// Is character ISO control
Character.isISOControl(array[i]);
boolean bIgnorable =
// Is Ignorable identifier
Character.isIdentifierIgnorable(array[i]);
// 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;
}
原文由 rahulsri 发布,翻译遵循 CC BY-SA 4.0 许可协议
这将搜索并替换所有非 ASCII 字母: