Truncate String in Python: Various Methods

Truncating strings in Python is a useful technique when you want to limit the length of a string or you want to display only a certain number of characters of the string. Whether you’re working on a data analysis project or developing a web application, understanding how to truncate string in Python can come in handy. In this blog post, you will know various methods to truncate strings in Python.

Methods to Truncate String in Python

Method 1: Using String Slicing

One of the simplest ways to truncate a string in Python is by using string slicing. String slicing allows you to extract a portion of a string based on its indices. To truncate a string, you can specify the start and end indices, excluding the characters beyond the desired length.

Here’s an example that demonstrates how to truncate a string using string slicing.

def truncate_string(string, length):
    if len(string) <= length:
        return string
    else:
        return string[:length] + "..."
sample_string = "Code the Best"
print(truncate_string(sample_string,5))

In the above code snippet, we define a function truncate_string that takes two parameters: string and length. If the length of the string is less than or equal to the desired length, the function returns the original string. Otherwise, it returns a truncated string by slicing the original string up to the desired length and appending an ellipsis (“…”) at the end.

Below is the output.

Code ...

Method 2: Using the Textwrap Module


The textwrap module in Python provides additional functionalities for formatting and manipulating text. It includes a convenient method called shorten that can be used to truncate strings.

Here’s an example that demonstrates how to truncate a string using the shorten method from the textwrap module:

import textwrap

def truncate_string(string, length):
    return textwrap.shorten(string, length, placeholder="...")

sample_string = "Code the Best"
print(truncate_string(sample_string,10))

In the above code snippet, we first import the textwrap module and define a function truncate_string that will takes two parameters, a string and length. The shorten method is used to truncate the string to the desired length. We can also specify a custom placeholder (in this case, “…”) that will be appended to the truncated string. It is optional.

Output

Code…

Method 3: Using Regular Expressions

Regular expressions are a powerful tool for pattern matching and manipulating text. We can use regular expressions to truncate strings by replacing the characters beyond the desired length.

Here’s an example that allows you to truncate a string using regular expressions:

import re

def truncate_string(string, length):
    if len(string) <= length:
        return string
    else:
        return re.sub(r'(.*?){%d}' % length, r'\1...', string)

sample_string = "Code the Best"
print(truncate_string(sample_string,2))

In the above code snippet, we first imported the re module. After that, we define a function truncate_string that will take two parameters string and length. Then the function will return the original string If the length of the string is less than or equal to the desired length. Otherwise, it uses regular expressions to match the characters up to the desired length you have passed as parameter and replaces the remaining characters with an ellipsis.

Below is the output when you will run the below lines of code.

...C......o......d......e...... ......t......h......e...... ......B......e......s......t......

Conclusion

Truncating strings in Python can be achieved using various methods such as string slicing, using the textwrap module, or regular expressions. Depending on your specific use case, you can choose any method that best suits your needs. By knowing these methods, you can effectively manipulate and control the length of strings in your Python programs.

Hi, I am CodeTheBest. Here you will learn the best coding tutorials on the latest technologies like a flutter, react js, python, Julia, and many more in a single place.

SPECIAL OFFER!

This Offer is Limited! Grab your Discount!
15000 ChatGPT Prompts
Offer Expires In:
close-link