字符串中的特殊 Java 个字符
Special Java characters in String
我很困惑,我在 Java 中有这样的字符串:
String str = "str \u0923 something else";
如何处理随意字符(不像 Java 特殊字符),我的意思是 str[4]
是 '\'
而不是 ण
(在 unicode \u0923
= ण)
unicode 字符。我要求的是机械解决方案而不是手动解决方案。
尝试:
String str = "str \u0923 something else";
它会打印出:
str \u0923 something else
而不是
str ण something else
JLS 表示 unicode backslash escapes 将被解释为好像文件是用编码在那里的实际字符写入的。这是源代码级别的替换,与字符串文字无关。
例如,这里是完全可编译的Java,其中使用 unicode 转义而不是引号和分号:
class test {
String a = \u0022hello world"\u003B
}
这意味着给定一个字符串引用,无法确定原始源文件在其赋值中是否包含 ण
或 \u0923
。
这类似于无法区分 s1
和 s2
中的哪一个分配了 +
:
String s1 = "hello " + "world";
String s2 = "hello world";
char
s 或 String
s 中的 Backshash Java 总是代表转义序列。 如果你想要标准 '\'
字符,你必须使用'\'
或"\"
.
首先使用- str.toCharArray() 将字符串转换为字符数组
那么在用每个字符映射哈希码后,您将能够单独处理每个字符。
例如-
String str=str\u0923;
char str[]=str.tocharArray();
for (int i = 0; i < str.length; i++)
int str=((Character) str[i]).hashCode();
我很困惑,我在 Java 中有这样的字符串:
String str = "str \u0923 something else";
如何处理随意字符(不像 Java 特殊字符),我的意思是 str[4]
是 '\'
而不是 ण
(在 unicode \u0923
= ण)
unicode 字符。我要求的是机械解决方案而不是手动解决方案。
尝试:
String str = "str \u0923 something else";
它会打印出:
str \u0923 something else
而不是
str ण something else
JLS 表示 unicode backslash escapes 将被解释为好像文件是用编码在那里的实际字符写入的。这是源代码级别的替换,与字符串文字无关。
例如,这里是完全可编译的Java,其中使用 unicode 转义而不是引号和分号:
class test {
String a = \u0022hello world"\u003B
}
这意味着给定一个字符串引用,无法确定原始源文件在其赋值中是否包含 ण
或 \u0923
。
这类似于无法区分 s1
和 s2
中的哪一个分配了 +
:
String s1 = "hello " + "world";
String s2 = "hello world";
char
s 或 String
s 中的 Backshash Java 总是代表转义序列。 如果你想要标准 '\'
字符,你必须使用'\'
或"\"
.
首先使用- str.toCharArray() 将字符串转换为字符数组 那么在用每个字符映射哈希码后,您将能够单独处理每个字符。 例如-
String str=str\u0923;
char str[]=str.tocharArray();
for (int i = 0; i < str.length; i++)
int str=((Character) str[i]).hashCode();