我知道我们使用\n
等转义字符作为下一行,\t
作为标签。
但是今天在处理几个字符串时我遇到了\\$
。
我必须打印"nike$"
所以要打印它我必须将字符串修改为"nike\\$"
。
我想知道\
和\\
之间的确切区别。
答案 0 :(得分:2)
在字符串文字中,\
是一个转义:下面的下一个字符告诉我们它将做什么,就像你的\n
换行示例一样。
这意味着您无法将\
置于字符串中,因为它是转义序列的一半。相反,要在字符串中实际使用\
,请使用\\
。
我必须打印
"nike$"
所以要打印它我必须将字符串修改为"nike\\$"
"nike\\$"
会生成一个字符串,输出(例如,通过System.out.println
)nike\$
,而不是nike$
。
您对\\$
的使用向我建议您正在将正则表达式提供给某些内容,例如:
p = Pattern.compile("nike\\$");
在这种情况下,我们有两个转义级别:字符串文字和正则表达式。要在正则表达式中包含文字 $
,必须由\
进行转义,否则它将成为输入结束断言。为了在使用字符串文字时实际获得\$
正则表达式解析器,我们必须转义文字中的反斜杠,这样我们实际上在字符串中有一个反斜杠供正则表达式引擎查看,因此{{1 }}