2012-02-22 41 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字符,所以您可能会在结果中以空字符串结束。