如何在Java中修剪字符串中的Unicode\u0085字符
我无法在Java中修剪unicode控制字符如何在Java中修剪字符串中的Unicode\u0085字符,java,Java,我无法在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打印为?而且似乎没有被
\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
打印为?而且似乎没有被取代。相关:谢谢!这起作用了。。。但是我不认为我理解代码。我有一个utf-8格式的输入流,我想从输入流中删除“\u0085”字符。。。我正在使用一个字符串进行测试,看看是否能够在字符串中替换这个字符。我明白了\u0085是一个utf16字符。。。U+0085的utf8字符是0xC2 0x85。。。谢谢您的回答非常有用。我有一个包含有效utf8字符0xC2 0x85(U+0095)的输入流。如何在java中正确阅读此内容?我认为使用字节数组没有帮助,因为0x85超出了范围。基本上,我需要读取来自java中包含0xC2 0x85的套接字的utf8字符。
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