【发布时间】:2016-10-04 17:25:02
【问题描述】:
给定换行符 (\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 "
【问题讨论】:
-
\\是反斜杠的转义。\n是换行符的转义。\t是制表符的转义。\\"是转义报价。真的就是这么简单。您说您“尝试暴力破解解决方案”,但您没有说您要解决什么,那么您希望我们如何帮助您? -
您的意思是说您希望
\\t被评估为\[tab]而不是\t? -
@Andreas \\ 应该转义反斜杠, \\t 或 \\n 应该转义制表符或换行符是
-
@Zircon 我希望 \\t 成为文字 \t
-
因此您想要一个包含
\后跟t的字符串,以便更新以用单个tab替换两个字符的子字符串\t> 性格?如果是这样,请更新您的问题并明确说明。