Python 如何将字符串中的制表符扩展为多个空格

Python 如何将字符串中的制表符扩展为多个空格

在Python中,对字符串之间的空格进行处理是非常有效的。在本文中,我们将讨论一种在字符串中提供空格的方法,即当我们不确定需要多少空格时。

使用字符串的expandtabs()方法

Python中的内置方法expandtabs()用于处理字符串中的空格。expandtabs()方法在Python中创建一个字符串副本,其中所有制表符’\t’被替换为下一个多个tabsize参数的空格字符。

有时需要定义字符串中留下多少空格,但具体的数量取决于情况。

在这些情况下,不断调整字符串是一种繁琐的过程。因此,Python库中的”expandtabs()”方法定义了在”\t”符号被替换之前应添加多少空格到字符串中。

语法

expandtabs()的语法如下所示:

string.expandtabs(size_of_tab)

其中,

size_of_tab_是用来替换\t的空白字符大小。默认值为8。

返回值

在下一个制表符大小参数之前,返回的字符串中所有的’\t’字符都被替换为空白字符。

示例

没有任何参数

在下面的示例中,我们不向expandtabs()函数传递任何参数−

string = "Expanding\ttabs\tin\tstring\tto\tmultiple\tspaces."
result = string.expandtabs()
print('The expanded string is:',result)

输出

上面的示例中使用的Python字符串expandtabs()函数没有参数,即没有指定大小。因此,默认大小8被用来替代’\t’。

The expanded string is: Expanding       tabs    in      string  to      multiple        spaces.

示例

使用不同的参数

在下面的示例中,我们将不同的参数传递给expandtabs()函数 –

string = "Expanding\ttabs\tin\tstring\tto\tmultiple\tspaces."
result = string.expandtabs(6)
result1 = string.expandtabs(3)
result2 = string.expandtabs(2)
print('The expanded string is:',result)
print('The expanded string is:',result1)
print('The expanded string is:',result2)

输出

分别将大小为6、3和2的参数传递给Python字符串expandtabs()函数,如上述代码示例所示。结果是,在整个字符串中,分别使用大小为6、3和2的空格替代了字符”\t”。

The expanded string is: Expanding   tabs  in    string      to    multiple    spaces.
The expanded string is: Expanding   tabs  in string   to multiple spaces.
The expanded string is: Expanding tabs  in  string  to  multiple  spaces.

错误和异常在expandtabs()函数中

Python字符串expandtabs()函数在我们尝试将不是整数类型的值,如浮点数,作为参数传递时抛出TypeError异常。

因此,很明显expandtabs()函数只接受整数类型的参数。以下是通过将非整数值作为参数传递给expantabs()方法的示例−

示例

string = "Expanding\ttabs\tin\tstring\tto\tmultiple\tspaces."
result = string.expandtabs(6.2)
print('The expanded string is:',result)

输出

执行上述代码时会抛出以下错误:

Traceback (most recent call last):
  File "main.py", line 2, in <module>
    result = string.expandtabs(6.2)
TypeError: integer argument expected, got float

使用numpy.expandtabs()函数

numpy.char.expandtabs()函数在Python的Numpy模块中执行与内置的expandtabs()函数相同的功能。

如果用户想要更精确,他们还可以将数组作为参数传递给numpy.char.expandtabs()函数,并指定空格的大小。

语法

numpy.expandtabs()的语法如下 −

numpy.char.expandtabs(array,size_of_tab)

在这里,

  • array 包含函数操作的元素。

  • size_of_tab(可选) 可以通过用此可选参数替换制表符空格字符或”\t”来指定提供的空格的大小。

示例

以下是numpy.expantabs()函数的一个示例−

import numpy
given_array = numpy.array("Expanding\ttabs\tin\tstring\tto\tmultiple\tspaces.")
result = numpy.char.expandtabs(given_array,16)
print('The expanded string array is:',result)

输出

以下是上述代码的输出结果:

The expanded string array is: Expanding       tabs            in              string          to              multiple        spaces.

使用replace()方法

Python中的字符串类包含一个称为replace的方法。它需要两个字符串作为输入:一个用于替换,另一个用于替换它。它与字符串对象一起使用。

示例

以下是使用replace()方法将字符串中的制表符扩展为多个空格的示例:

string = "Expanding tabs in string to multiple spaces."
result = string.replace('\t', '')
print( result)

输出

以下是上述代码的输出结果

Expanding tabs in string to multiple spaces.

使用re模块

正则表达式也可以与Python的”re”模块一起使用,以实现相同的结果。要替换字符串中的字符,请使用re.sub(regex to replace, regex to replace with, string)函数。

示例

以下是使用re模块将字符串中的制表符扩展为多个空格的示例:

import re
string = "Expanding tabs in string to multiple spaces."
result = re.sub('\t', '',string)
print(result)

输出

以下是上述代码的输出 –

Expanding tabs in string to multiple spaces.

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程