2

我正在使用公理从 XML 中提取数据。
但是由于在 XML 中有 CTRL-CHAR(例如:â、€、¢、“、”、™、'、- 等),我遇到了错误。
任何机构都可以帮我替换所有 CTRL-SHAR 以避免上述错误。

4

1 回答 1

0

目前我在这种情况下使用以下方法。但我认为一定有比这更好的方法。

public static String removeNonUtf8CompliantCharacters( final String inString ) {
        if (null == inString ) return null;
        byte[] byteArr = inString.getBytes();
        for ( int i=0; i < byteArr.length; i++ ) {
            byte ch= byteArr[i]; 
            // remove any characters outside the valid UTF-8 range as well as all control characters
            if ( !(ch < 0x00FD && ch > 0x001F) || ch =='&' || ch=='#') {
                byteArr[i]=' ';
            }
        }
        return new String( byteArr );
    }
于 2014-04-23T09:05:23.413 回答