给定换行符 (\n)、制表符 (\t) 和转义字符\,如何正确给出字符串格式,以便正确处理这些转义序列和转义字符。示例1:
"string \\t \t"
输出将是:
"string \t "
因此在这种情况下\\t 被转义为\t 并且\t 被格式化为制表符
示例2:
"string \\t \n \\n"
输出为:
"string \t
\n"
我尝试了暴力解决方案,但它不起作用,因为我在用反斜杠分隔制表符和空格时遇到问题。
String v= "..." //v for value
v = v.replace("\\\"","\"");
v = v.replace("\\\\","\\");
v = v.replace("\\t", " ");
v = v.replace("\\n", "\n");
v = v.replace("\\\t", "\\t");
v = v.replace("\\\n", "\\n");
如果我通过第一个示例运行该代码,它将给出:
"string "
最佳答案
看起来您没有尝试过的一个“强力”组合是正确的
replace("\\t", "\t")
阅读“将所有<反斜杠>
将它们串在一起得到
v = v.replace("\\t", "\t").replace("\\n", "\n")
(不需要单独替换\)
关于Java - 正确格式化给定转义序列和转义字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39858310/