Java 怎么替换非XML字符

2019年8月3日23:32:11Java 怎么替换非XML字符已关闭评论 521 697字阅读2分19秒

1.简介

Java 怎么替换非XML字符?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */



public class Main {
    public static void main(String[] argv) {
        String text = "tah1986.com";
        System.out.println(replaceNonXMLCharacters(text));
    }

    public static String replaceNonXMLCharacters(String text) {
        if (text == null) {
            return null;
        }

        StringBuffer sb = new StringBuffer(text);
        for (int i = 0, len = text.length(); i < len; i++) {
            if (!isXMLCharacter(text.charAt(i))) {
                sb.setCharAt(i, '?');
            }
        }
        return sb.toString();
    }

    
    public static boolean isXMLCharacter(char c) {

        if (c == '\n')
            return true;
        if (c == '\r')
            return true;
        if (c == '\t')
            return true;

        if (c < 0x20)
            return false;
        if (c <= 0xD7FF)
            return true;
        if (c < 0xE000)
            return false;
        if (c <= 0xFFFD)
            return true;
        if (c < 0x10000)
            return false;
        if (c <= 0x10FFFF)
            return true;

        return false;
    }
}

 
编程十万个怎么办