我正在尝试使此代码打印输入,例如“\ b \ t \ n \ r \ n”。问题是当我尝试用双斜杠替换单个斜杠以便在每个字母前面打印单个反斜杠时,我得到一些没有意义的文本作为输出。我在这做错了什么?
public static String escape(String input) {
input = input.replace("\"", "\\");
return input;
}
答案 0 :(得分:0)
在您的代码示例中,您正尝试替换单个"单斜线的符号。如果我理解正确的话应该是这样的:
input.replace("\\", "\\\\")
此外,字符串如" \ n"不包含斜杠,因为" \ n"是特殊符号,而不仅仅是两个符号。这也可能会影响您的代码。
答案 1 :(得分:0)
我没有对此进行测试,但为什么不编写自己的替换方法呢?它非常简单,我特意针对这个案例。我相信你可以概括一下:)
String s = "";
for(int i = 0; i < input.length; i++)
{
char c = input.charAt(i)
if(c == '\')
{
s = s + "\\";
i++;
}
else{
s+=c;
}
}