有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中修剪字符串中的Unicode\u0085字符

我无法在Java中修剪unicode控制字符\u0085。你怎么能做到这一点

String str = "\u0000\u001f\u0085 hi \n"
PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.println(teststr);
String st = teststr.replaceAll("\\p{Cntrl}", "");
out.println(st);

字符\u0085打印为?而且似乎没有被取代


共 (1) 个答案

  1. # 1 楼答案

        import java.util.regex.Matcher;
        import java.util.regex.Pattern;
    
        public static String trimUtf16(String test) {
            Pattern unicode = Pattern.compile("[^\\x00-\\x7F]",
                    Pattern.UNICODE_CASE | Pattern.CANON_EQ
                            | Pattern.CASE_INSENSITIVE);
            Matcher matcher = unicode.matcher(test);
            test = matcher.replaceAll(" ");
            return test;
        }
        System.out.println(trimUtf16("\u0000\u001f\u0085 hi \n"));// hi