python有6种whitespace符号

2019年11月21日 / 4次阅读 / Last Modified 2019年11月21日

一直有一个错误的认知,whitespace就是空格,今天才发现,原来python中定义了6种不同的whitespace字符:

ASCII码 字符表示 显示 描述
9 \t 无 HT,horizontal tab,水平制表符
10 \n 空一行 LF,line feed,换行
11 \x0b(十六进制) □ VT,vertical tab,垂直制表符
12 \x0c(十六进制) ↑ FF,form feed,换页
13 \r 无 CR,carriage return,回车
32 \x20(十六进制) 无 space,空格

以上6中ASCII字符,都属于whitespace。

因此,str对象的strip函数,不仅可以去掉space(空格),还可以帮助你去掉换行符\n:

>>> 'abcde  \n\n'.strip()
'abcde'

因此,re.sub在使用\s的时候,这6中whitespace都会被匹配:

>>> ws = 'a\tb\nc\rd e\x0b8\x0c'
>>> ws
'a\tb\nc\rd e\x0b8\x0c'
>>> re.sub('\s+','',ws)
'abcde8'

因此,str对象的split函数,在没有参数的时候,会把这6种whitespace都用上:

>>> a = '1\r\n  2\t3 4\n5'
>>> a.split()
['1', '2', '3', '4', '5']

python的这6种whitespace符号,不知道在其它变成语言种,是否通用!?

-- EOF --

本文链接:https://www.pynote.net/archives/1549

相关文章

    留言区

    电子邮件地址不会被公开。 必填项已用*标注


    前一篇:
    后一篇:

    More

    麦新杰的Python笔记

    Ctrl+D 收藏本页


    ©Copyright 麦新杰 Since 2019 Python笔记

    go to top