说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 的字符串方法 expandtabs() 方法返回一个字符串副本,其中所有制表符“\t”替换为空白字符,直到 tabsize 参数的下一个倍数。expandtabs() 方法把字符串中的 tab 符号 \t 转为空格,tab 符号 \t 默认的空格数是 8,在第 0、8、16...等处给出制表符位置,如果当前位置到开始位置或上一个制表符位置的字符数不足 8 的倍数则以空格代替。
以下是使用示例:
'01\t012\t0123\t01234'.expandtabs()
# '01 012 0123 01234'
'01\t012\t0123\t01234'.expandtabs(4)
# '01 012 0123 01234'
'xyz\t12345\tabc'.expandtabs()
# xyz 12345 abc
expandtabs() 方法跟踪当前光标位置。上述程序中第一个“\t”字符的位置为3。并且,tabsize为 8(如果未传递参数)。
expandtabs() 字符将“\t”替换为空白,直到下一个制表符停止。“\t”的位置为3,第一个制表位为8。因此,“xyz”后面的空格数为5。
下一个制表位是tabsize的倍数。下一个制表位是16、24、32等。
现在,第二个“\t”字符的位置是13。下一个制表位是16。因此,“12345”后面有3个空格。
语法为:
str.expandtabs(tabsize=8)
参数 tabsize -- 指定转换字符串中的 tab 符号('\t')转为空格的字符数。
返回字符串的副本,其中所有的制表符会由一个或多个空格替换,具体取决于当前列位置和给定的制表符宽度。 每 tabsize 个字符设为一个制表位(默认值 8 时设定的制表位在列 0, 8, 16 依次类推)。 要展开字符串,当前列将被设为零并逐一检查字符串中的每个字符。 如果字符为制表符 (\t),则会在结果中插入一个或多个空格符,直到当前列等于下一个制表位。 (制表符本身不会被复制。) 如果字符为换行符 (\n) 或回车符 (\r),它会被复制并将当前列重设为零。 任何其他字符会被不加修改地复制并将当前列加一,不论该字符在被打印时会如何显示。
不同参数的示例如下:
str = "xyz\t12345\tabc"
print('Original String:', str)
# tabsize is set to 2
print('Tabsize 2:', str.expandtabs(2))
# tabsize is set to 3
print('Tabsize 3:', str.expandtabs(3))
# tabsize is set to 4
print('Tabsize 4:', str.expandtabs(4))
# tabsize is set to 5
print('Tabsize 5:', str.expandtabs(5))
# tabsize is set to 6
print('Tabsize 6:', str.expandtabs(6))
'''
Original String: xyz 12345 abc
Tabsize 2: xyz 12345 abc
Tabsize 3: xyz 12345 abc
Tabsize 4: xyz 12345 abc
Tabsize 5: xyz 12345 abc
Tabsize 6: xyz 12345 abc
'''
解释:
更新时间:2022-12-29 09:33:05 标签:python 字符串 制表符