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.