java - 使用转义 java 创建字符串

标签 java string escaping concatenation

我有以下问题,我有一个这样的字符串数组

String[] myArray = {"AAAA","BBBB","CCCC"};

我的目的是创建另一个类似的数组

String myNewArray = {"\uAAAA","\uBBBB","\uCCCC"};

问题是如果我尝试使用循环创建数组

for (int i=0; i<myArray.length; i++) {
    myNewArray[i] = "\u" + myArray[i];
}

如果我使用这样的循环,我会收到“无效的 unicode 错误”

for (int i=0; i<myArray.length; i++) {
    myNewArray[i] = "\\u" + myArray[i];
}

我得到这个数组

String myNewArray = {"\\uAAAA","\\uBBBB","\\uCCCC"};

如果我使用这个循环

for (int i=0; i<myArray.length; i++) {
    myNewArray[i] = "\\u" + myArray[i];
    myNewArray[i] = myNewArray[i].substring(1);
}

我得到这个数组

String myNewArray = {"uAAAA","uBBBB","uCCCC"};

有人知道我该怎么做吗?

谢谢

最佳答案

您必须将字符串解析为十六进制整数,然后转换为 chars:

String[] myArray = {"AAAA", "BBBB", "CCCC"};
String[] myNewArray = new String[myArray.length];
for (int i=0; i<myArray.length; i++) {
    char c = (char) Integer.parseInt(myArray[i], 16);
    myNewArray[i] = String.valueOf(c);
}

关于java - 使用转义 java 创建字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17209592/

相关文章:

python - 是否可以防止 python 中的百分比字符串替换

python - 在Python中解析字符串列表

Perl 解析 XML::Simple 和添加转义字符

python - Python 与 Perl 正则表达式中的反斜杠和转义字符

java - 如何重写hashcode和equals方法以避免在java中的HashSet中添加重复的字符串?

java - maven-jaxb2-plugin 不在 linux 机器上编译 xsd 但在 windows 上工作?

java - 查找线程池内 Activity 线程的名称: ExecutorService in java

java - 打印到文本文件

regex - 非确定性有限自动机 (NFA) 校正

java - 在输出中保留 XML 实体 (jSoup)