How to Remove Last Character from Python String?

By | September 25, 2021

A Python string is a collection of characters inside single, and double-quotes. And often in Python programming, we deal with string manipulation where we change, slice, remove and replace characters between the string. Although Python string is an immutable data type, still it provides some methods and techniques that can manipulate the initial value of the string and in this tutorial we will learn some of the string manipulation techniques, to remove the last character from the string.

How to Remove Last Character from the Python String [Different Ways]

  1. Using Positive String Slicing
  2. Using Negative String Slicing
  3. Using Python String rstrip function
  4. Using for Loop
  5. Using regular Expression.

1. Using Positive String Slicing

Python Slicing is a way to access a range of elements from a Python string and list. And we can use the slicing technique to delete the last character from a string.

All we need to do is slice the string from 0 index value to (n-1) where n is the total length of the string. String slicing does not manipulate the actual string, it just returns a new copy substring of the main string based on the specified, start, end, and steps index values.

The basic idea of this technique, to slice the string from start-up to the end except for the last character and reassign the return value to the string variable.

Example

Vamware
# given string
string = "Hello World, How are you Doing?!"

# length of the string
n = len(string)

print("Actual String: ",string)

# remove the last chracter !
string = string[0:n-1]

print("After Removing Last Character: ",string)

Output

Actual String: Hello World, How are you Doing?!
After Removing Last Character: Hello World, How are you Doing?

In the above example, we use positive index slicing to remove the last character from a string.

Vamware

2. Using Negative String Slicing

Python string also supports negative indexing, where -1 represents the last character of the string, -2 represents the second last character of the string, and so on.

Similar to the above example where we remove the last character from a Python string using Positive String slicing, we can use the negative string slicing to remove the last character. The idea is basically the same, we will slice the string from its 0 index value up to the end except for the last character. But here instead of mentioning the end index value as (n-1), we will specify -1 that, which represents the same, the last index value of the string.

Example

# given string
string = "Hello World, How are you Doing?!"

# length of the string
n = len(string)

print("Actual String: ",string)

# remove the last chracter !
string = string[0:-1]
print("After Removing Last Character: ",string)

Output

Actual String: Hello World, How are you Doing?!
After Removing Last Character: Hello World, How are you Doing?

3. Using Python String rstrip function

Python string support a rstrip([chars])function that returns the copy of string by removing the trailing specified character chars .

Using the rstrip() function we will remove the last character from our Python string by specifying the last character as an argument value to rstrip() function.

Example

# given string
string = "Hello World, How are you Doing?!"

# string last chracter
last_char = string[-1]

print("Actual String: ",string)

# remove the last chracter !
string = string.rstrip(last_char)

print("After Removing Last Character: ",string)

Output

Actual String: Hello World, How are you Doing?!
After Removing Last Character: Hello World, How are you Doing?

4. Using for Loop

We can also use the for loop, and remove the last character from a string. All we need to do is loop through every character of the string and concatenate those characters into a new empty string except for the last one. We create a loop from index value 0 to n-1 where n is the total number of characters present in the string. By looping up to n-1, we will not be accessing the last element.

Example

# given string
string = "Hello World, How are you Doing?!"

#length of the string
n= len(string)

# initialize an empty string
new_string = ""

print("Actual String: ",string)

for i in range(n-1):
    # concatenate chracters to new string
    new_string+=string[i]

print("After Removing Last Character: ",new_string)

Output

Actual String: Hello World, How are you Doing?!
After Removing Last Character: Hello World, How are you Doing?

5. Using Regular Expression

Regular Expressions are the most powerful tool to manipulate any string. Luckily Python comes with a build-in re modules, that is used to matches pattern in a string using regular expression syntax.

The re module provides a sub() function, that can replace the leftmost non-overlapping occurrence of pattern in a string. And using this function we can remove the last character from a string.

To know more about how the sub() function works visit the official documentation of Python or click here.

Example

import re

def replace_function(m):
    return m.group(1)

#given  string
string = "Hello World, How are you Doing?!"
print("Actual String: ",string)

# Remove last character from string
string = re.sub("(.*)(.{1}$)", replace_function, string)
print("After Removing Last Character: ",string)

Output

Actual String: Hello World, How are you Doing?! 
After Removing Last Character: Hello World, How are you Doing?

Conclusion

In this Python tutorial, we learned how to remove the last character from a string. Slicing techniques and Python string rstrip() methods are the two most straightforward ways to remove the last character from the string. And most of the time you will be using these two ways when you encounter such a situation while writing a Python program. The other two ways of using “for loop” and “regular expression” are brute force and complex respectively, so you won’t be using them often.

People are also reading: 

Leave a Reply

Your email address will not be published. Required fields are marked *