我正在将存储字符串的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代码点字符串。