2012-02-22 42 views
3

我有一個字符串,我需要根據擴展ascii字符拆分。我知道我可以通過檢查每個字符來做到這一點,其相應的值是127,因爲正常的ascii字符的值爲betn 0-127。但這不是一種有效的方式。有沒有其他方法可以做到這一點?如何分割一個字符串基於擴展ascii在java

+0

你的意思是特定的擴展ASCII字符或任何擴展ASCII字符? – 2012-02-22 07:00:36

+0

您可以想象的任何字符串分割函數都會在字符串上逐個字符地迭代至少一次。沒有其他辦法。 – Thilo 2012-02-22 07:01:18

+0

「擴展ASCII」是一個令人難以置信的模糊術語。你有一個特定的Unicode字符嗎? – 2012-02-22 07:04:15

回答

3

使用帶有否定字符類的字符串split method。類[\x00-\x7F]是所有ascii字符,所以[^\x00-\x7F]是所有非ASCII字符(與「擴展ascii」字符是否相同是另一回事;該術語的含義是含糊的,正如Jon Skeet在註釋中指出的那樣)。

String[] result = String.split("[^\\x00-\\x7F]"); 

請注意,這將分裂所有出現的非ASCII字符,所以您可能會在結果中以空字符串結束。