Python 字符串 expandtabs() 方法

Python expandtabs() 语法

expandtabs() 是 Python 字符串的一个方法,它会将字符串中所有的制表符(即 “\t”)替换成指定数量的空格,然后返回替换后的字符串。

语法:

str.expandtabs(tabsize=8)

说明:

expandtabs() 方法接收单个参数。

  • tabsize(可选,默认值:8):指定制表符替换的空格间隔长度,默认值为 8。如果 tabsize ≤ 0,制表符会被替换为空字符串。

expandtabs() 方法不会修改原字符串,而是返回替换后的新字符串。

注意: expandtabs() 只会处理制表符 “\t” ,而不会影响字符串中的其他空白字符(如空格、换行符 “\n” 等)。

Python expandtabs() 摘要

使用频率
修改原字符串
官方文档 查看
相关方法 replace()

Python expandtabs() 示例

接下来,我们通过几个简单的例子来讲解一下 Python expandtabs() 方法是如何使用的。

示例 1:expandtabs() 基本用法

s = 'I\tlove\tPython'
result = s.expandtabs()
print(result)

运行结果如下。

I       love    Python

分析:

对于 expandtabs() 方法,我们可以这样理解:它会将 “I\t” 看成是一个整体,然后不够 8 的长度部分,就使用空格来替换。由于 “I” 占了 1 个长度,因此它后面有 7 个空格。然后它会将 “love\t” 看成一个整体,由于 “love” 占了 4 个长度,因此它后面有 4 个空格。

示例 2:expandtabs() 指定 tabsize

s = 'I\tlove\tPython' 
print(s.expandtabs(5))
print(s.expandtabs(6))

运行结果如下。

I    love Python
I     love  Python

分析:

原理和上面例子一样,小伙伴们可以自行计算一下。

示例 3:expandtabs() 的 tabsize≤0

s = 'I\tlove\tPython'
print(s.expandtabs(0))

运行结果如下。

IlovePython

分析:

当 tabsize ≤ 0 时,所有制表符会被替换为空字符串。换句话来说就是,此时所有 “\t”  被直接删除,而不保留空格。

示例 4:expandtabs() 与 replace('\t', '') 对比

s = 'I\tlove\tPython'
print(s.expandtabs())
print(s.replace('\t', ''))

运行结果如下。

I       love    Python
IlovePython

分析:

replace('\t', '') 是将所有的 “\t” 替换为空字符串(相当于直接删除了制表符),因此单词全都挤在了一起;而 expandtabs() 则是保留了排版格式,按照制表位的对齐规则智能地填充相应数量的空格。

上一篇: replace()

下一篇: maketrans()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号