gpt4 book ai didi

java - 避免忽略 "/"之后的下一个字符

转载 作者:行者123 更新时间:2023-11-29 07:01:03 25 4
gpt4 key购买 nike

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

关于java - 避免忽略 "/"之后的下一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26102679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com