问题描述
String str = "xxx---xxx\\\'hi\'xx";
当我尝试打印字符串时,由于反斜杠,它变成下面:
xxx---xxx\'hi'xx
如何使输出保持不变
xxx---xxx\\\'hi\'xx
解决方法
当 java 编译器读取源文件中的文字字符串时,它知道 backslash
是一个特殊的引用字符,即使它是特殊的,用户也可以直接处理后面的字符,包括反斜杠本身。
因此,当您编写 String s = 'a\\b';
时,您已将 s
定义为包含 3 个字符 a
、\
和 b
的字符串。
因此,如果您想在字符串中使用数字或反斜杠字符,只需在源代码中写入两次此数字即可。
,String str = "xxx---xxx\\\\\\'hi\\'xx";
- 将返回您想要的输出
反斜杠本身就是一个转义字符。阅读更多相关信息here。
在您的情况下,您必须打印 "xxx---xxx\\\\\\'hi\\'xx"
才能获得 "xxx---xxx\\\'hi\'xx"
的输出。您也可以在您的字符串中找到所有 "\"
并将其替换为 "\\"
以实现自动化。