2014-05-13 63 views
0

我有一個字符串。它包含一些空白區域。我不知道這些空白是什麼。他們可能是一個空間,或者是一個標籤..或其他的東西。需要一種以二進制格式打印字符串的方法?

所以我只想打印一個二進制格式的字符串。

此外,如何使用String.replace()過濾掉二進制格式的一些字符?或者我需要使用其他類型的API來過濾掉二進制格式的特殊字符。

例如,如何在字符串中過濾出chr(10)。 (CHR(10)指昌行)

只是找出其原因:

我使用這些線來打印這是什麼空白:

for (char ch : MyString.toCharArray()) { 
     System.out.format("%H ", ch); 
    } 

我得到了它的結果。這是「3000」。

我檢查了UTF-8表,發現3000真的看起來空白。

然後我使用此代碼刪除此空格:

MyString = MyString.replaceAll("\u3000", ""); 

現在一切都變得正常。

非常感謝大家的幫助!

+0

如果你想檢查字符的數值,它可能會更有效地打印在十六進制。 –

回答

1

使用正則表達式。 \s表示空白。

str.replace("\\s+", ""); 
+0

儘管我不確定這是否會回答這個問題,因爲我並不完全理解它。 – clcto

+0

這將刪除換行符,但也刪除所有其他空格。 –

+0

@DavidConrad,他說他「我不知道這些空白是什麼」 – clcto

0

使用String.toCharArray(),遍歷所有的字符,使用String.toString((INT)焦炭),16),以獲得一個十六進制值。爲了便於閱讀,請使用「」或「,」分隔。

相關問題