关于转移符,无非是\
加上别的字符。例如换行\n
,制表符\t
。
在 JavaScript
中,字符串中涉及\
的部分一律作为转移符,而如果想输入\
的字符,必须写成\\
。作为 mac 党还行,如果是 Windows 开发就呵呵哒了。
1 | > path = 'c:\Users\maple\Desktop\新建文件夹'; |
正确做法应该是:
1 | > path |
当然大部分语言都是这个样子。如果包含\
在 Python 里稍微有那么点不同,甚至说是有点小坑。
如果是支持转义的 \n
和 \t
这样。
1 | >>> '\n' |
而对于无法转义类似\p
则会:
1 | >>> '\p' |
也就是在 Python 里,/
是否会变成转义符取决于后面的一个(若干个)字符可以有转义的效果。而在JavaScript
里,无论后面跟着什么,单个\
都会成为转移符,也就是'\p' === 'p'
。
所以 Python 引入了 raw string
的概念。如果字符串类型是 raw string
则\
不做任何转义而是单纯作为一个普通的字符串。
1 | >>> r'\n\s\t' |
这在 Windows 文件地址或者正则相关的操作中十分有用,避免了转移符带来的繁琐的问题。