我有一个字符串。它包含一些空白区域。我不知道这些空白是什么。它们可能是一个空格,或者是一个标签......或者其他。
所以我只想打印二进制格式的字符串。
另外,如何使用String.replace()过滤掉二进制格式的某些字符?或者我需要使用其他类型的API来过滤掉二进制格式的特殊字符。
例如,如何过滤掉字符串中的chr(10)。 (chr(10)表示Chang Line)
找出原因:
我使用这些行来打印这个空白:
for (char ch : MyString.toCharArray()) {
System.out.format("%H ", ch);
}
我得到了它的结果。它" 3000"。
我检查了UTF-8表,发现3000看起来真的是空白。
然后我只使用此代码删除此空格:
MyString = MyString.replaceAll("\u3000", "");
现在一切都变好了。
非常感谢大家的帮助!!
答案 0 :(得分:1)
使用正则表达式。 \s
表示空格。
str.replace( "\\s+", "" );
答案 1 :(得分:0)
使用String.toCharArray(),遍历所有char,使用String.toString((int)char),16)获取十六进制值。为了便于阅读,请单独使用“”或“,”。