Maple's Blog.

Python 字符串中的转移符

字数统计: 354阅读时长: 1 min
2019/01/28

关于转移符,无非是\ 加上别的字符。例如换行\n,制表符\t

JavaScript 中,字符串中涉及\的部分一律作为转移符,而如果想输入\的字符,必须写成\\。作为 mac 党还行,如果是 Windows 开发就呵呵哒了。

1
2
> path = 'c:\Users\maple\Desktop\新建文件夹';
'c:UsersmapleDesktop新建文件夹'

正确做法应该是:

1
2
> path
'c:\\Users\\maple\\Desktop\\新建文件夹'

当然大部分语言都是这个样子。如果包含\

在 Python 里稍微有那么点不同,甚至说是有点小坑。

如果是支持转义的 \n\t 这样。

1
2
>>> '\n'
'\n'

而对于无法转义类似\p则会:

1
2
>>> '\p'
'\\p'

也就是在 Python 里,/是否会变成转义符取决于后面的一个(若干个)字符可以有转义的效果。而在JavaScript 里,无论后面跟着什么,单个\都会成为转移符,也就是'\p' === 'p'

所以 Python 引入了 raw string的概念。如果字符串类型是 raw string\不做任何转义而是单纯作为一个普通的字符串。

1
2
>>> r'\n\s\t'
'\\n\\s\\t'

这在 Windows 文件地址或者正则相关的操作中十分有用,避免了转移符带来的繁琐的问题。

CATALOG