我正在将存储字符串的Unicode字符转换为Unicode文本。

例如,这是一个字符串-

String unicode = "\u0041\u006e\u0064\u0072\u006f\u0069\u0064";


现在,我要从该字符串中获取单独的unicode字符-

u0041 u006e u0064 u0072 u006f u0069 u0064


因此,我使用以下代码-

String[] parts = "\u0041\u006e\u0064\u0072\u006f\u0069\u0064".split("\");


但是,由于在"中忽略了\之后的split("\"),所以出现了错误。

如何不忽略\之后的字符?

最佳答案

\字符是转义字符。您收到语法错误,因为\"是将"字符放置在String文字中的转义序列。要将\放在String文字内,您需要使用\\(第一个\逃避了第二个\的特殊含义)。因此,句法正确的语句将是:

 String[] parts = "\u0041\u006e\u0064\u0072\u006f\u0069\u0064".split("\\");


但这并不能满足您的需求,因为第一个参数不包含任何\字符。 (此外,split()方法要求使用正则表达式,而\不是有效的正则表达式。)相反,它包含七个代码点为U + 0041等的字符,等等。也许您想要:

 String[] parts = "\\u0041\\u006e\\u0064\\u0072\\u006f\\u0069\\u0064".split("\\\\");


也许你想要

 char[] parts = "\u0041\u006e\u0064\u0072\u006f\u0069\u0064".toCharArray();


然后您可以将parts的每个元素转换为Unicode代码点字符串。

10-06 09:10
查看更多