[英]java equivalent for regex to replace all characters up to a specific character in a string
[英]Determine if characters in a string are all of a specific character set
我需要能夠在Java中獲取一個字符串,並確定其中包含的所有字符是否都在指定的字符集中(例如ISO-8859-1)。 我已經四處尋找一個簡單的方法來做這個(包括玩CharsetDecoder
),但還沒有找到一些東西。
獲取字符串並確定所有字符是否在給定字符集中的最佳方法是什么?
包java.nio.charset中的類CharsetEncoder提供了一個方法canEncode來測試是否支持特定字符。
邁克爾基本上做了這樣的事:
Charset
。 forName
( CharEncoding.ISO_8859_1
)。 newEncoder
()。 canEncode
(“string”)
請注意, CharEncoding.ISO_8859_1
依賴於Apache commons ,可能會被“ISO_8859_1”取代。
我認為最簡單的方法是創建一個表,其中Unicode字符可以在目標字符集編碼中表示,然后測試字符串中的每個字符。 對於ISO-8859系列,該表通常可以由一個或幾個Unicode字符范圍表示,使測試相對容易。 這需要很多手工,但只需要完成一次。
編輯:或者如果Java實現支持charset,請使用Aubin的答案 。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.