Python String expandtabs() Method



The python string expandtabs() method returns a copy of the string where all tab characters are replaced by one or more spaces, depending on the current column and the given tab size. Tab positions occur every tab size characters (default is 8, giving tab positions at columns 0, 8, 16 and so on). To expand the string, the current column is set to zero and the string is examined character by character.

If the character is a tab (\t), one or more space characters are inserted in the result until the current column is equal to the next tab position. The actual tab character isn't replicated. If the character is a newline (\n) or return (\r), it is copied and the current column is reset to zero. Any other character is copied unchanged and the current column is incremented by one regardless of how the character is represented when printed.

In the following section, we will be learning more details about the python string expandtabs() method.

Syntax

The following is the syntax of the python string expandtabs() method.

str.expandtabs(tabsize=8)

Parameters

The following is the parameter for the python string expandtabs() method.

  • tabsize − This parameter specifies the number of characters to be replaced for a tab character '\t'.

Return Value

The python string expandtabs() method returns a copy of the string in which tab characters are expanded using spaces.

Example

The following is an example of the python string expandtabs() method. Here, we are creating a string and trying to expand it up to 25 characters.

str = "Welcome to\tTutorialspoint!!";
print("Original string: " + str)
result=str.expandtabs(25)
print("After expanding tabs, the result is:", result)

On executing the above program, the following output is generated -

Original string: Welcome to     Tutorialspoint!!
After expanding tabs, the result is: Welcome to               Tutorialspoint!!

Example

In the python string expandtabs() method, the input string can have multiple tab characters. How many ever times the tab characters appear, those many tab spaces are replaced.

In here, we are creating a string "01\t012\t0123\t01234" and expanding all the tabs using the expandtabs() with the tab size '17'.

str='01\t012\t0123\t01234'
print("Original string:",str)
result=str.expandtabs(17)
print("After expanding tabs, the result is:", result)

The following is the output obtained by executing the above program -

Original string: 01     012     0123    01234
After expanding tabs, the result is: 01               012              0123             01234

Example

Let us see another example of this method.

str="Hello!\t Welcome to Tutorialspoint!"
result=str.expandtabs(50)
print("After expanding tabs, the result is:", result)

The following output is obtained by executing the above program -

After expanding tabs, the result is: Hello!                                             Welcome to Tutorialspoint!

Example

The python string expandtabs() method without any parameter takes a default value for the tab size which is '8'.

The following is an example we are trying to call this method on a string without passing any parameters.

str="Hello!\t Welcome to Tutorialspoint!"
result=str.expandtabs()
print("After expanding tabs, the result is:", result)

The above program, on executing, displays the following output -

After expanding tabs, the result is: Hello!   Welcome to Tutorialspoint!                                        

Example

The python string expandtabs() method accepts only integer parameter as the tab size can only be in the form of an integer. If characters or nay other data type is given, an error is occurred.

In this example a string is taken as input and then, expandtabs() method is invoked on that input string with 'j' as its tabsize.

str="Hello!\t Welcome to Tutorialspoint!"
result=str.expandtabs('j')
print("After expanding tabs, the result is:", result)

The output of the above program is displayed as follows -

Traceback (most recent call last):
  File "main.py", line 2, in 
    result=str.expandtabs('j')
TypeError: an integer is required (got type str)         
python_strings.htm
Advertisements