Dan*_*ani 6 java string escaping concatenation
我有以下问题,我有一个这样的字符串数组
String[] myArray = {"AAAA","BBBB","CCCC"};
Run Code Online (Sandbox Code Playgroud)
我的目的是创建另一个这样的数组
String myNewArray = {"\uAAAA","\uBBBB","\uCCCC"};
Run Code Online (Sandbox Code Playgroud)
问题是,如果我尝试使用循环创建数组
for (int i=0; i<myArray.length; i++) {
myNewArray[i] = "\u" + myArray[i];
}
Run Code Online (Sandbox Code Playgroud)
如果我使用这样的循环,我会收到"无效的unicode错误"
for (int i=0; i<myArray.length; i++) {
myNewArray[i] = "\\u" + myArray[i];
}
Run Code Online (Sandbox Code Playgroud)
我获得了这个数组
String myNewArray = {"\\uAAAA","\\uBBBB","\\uCCCC"};
Run Code Online (Sandbox Code Playgroud)
如果我使用这个循环
for (int i=0; i<myArray.length; i++) {
myNewArray[i] = "\\u" + myArray[i];
myNewArray[i] = myNewArray[i].substring(1);
}
Run Code Online (Sandbox Code Playgroud)
我获得了这个数组
String myNewArray = {"uAAAA","uBBBB","uCCCC"};
Run Code Online (Sandbox Code Playgroud)
有谁知道我怎么做到这一点?
谢谢
您必须将字符串解析为十六进制整数,然后转换为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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1148 次 |
| 最近记录: |