How to Truncate a String in Python (5 Easy Ways)

truncate a string python

Sometimes a string becomes too long to display or store. In such cases, developers truncate it, shortening it so only the important part remains. This process is called string truncation.

You can truncate a string in Python using string slicing, the built-in textwrap.shorten() function, rsplit(), regular expressions, or even a simple loop. Each method works slightly differently. In this guide, you will learn the most useful ways to truncate strings with simple explanations and examples.

What Does Truncate Mean?

To truncate means to cut off part of a string to make it shorter. In programming, this means removing extra characters to store or display only what’s needed.
Think of it like a 50-inch tablecloth on a 20-inch table; you’d cut off 30 inches to make it fit. That’s truncation in the real world.

truncate a string python example
Truncating Table Cloth

Same is the case with strings in Python. We use truncate to trim a part of the string to store it or print it. Truncation is commonly used in everyday programming, especially when we need to shorten a long string.

How To Truncate a String in Python?

In Python, there are multiple methods to truncate a string. We will be discussing all the possible ways to truncate a string in Python using code, real-life examples, and visual analogies.

1. Truncate a String Using String Slicing

In Python, the simplest way to truncate a string is using slicing. It cuts a portion of a string based on its index. If you want to explore this concept further, check out our detailed guide on How to Get a Substring of a String in Python.

Imagine you’ve cooked a pizza but want to save some for a friend. You cut it into slices and store one of a specific size for later. That’s exactly how string slicing works in Python.

Similarly, string slicing lets us select and cut a specific part of a string. We can then store it for later use or print it directly.

String Slicing Example
Pizza Slicing Comparison With String Slicing

Syntax

string[start:end]
  • start: index where slicing begins
  • end: index where slicing stops

If we leave the starting index empty, the first index of the string (which is the zero index) will be selected by default. Similarly, If we leave the ending index empty, the last index of the string will be selected by default.

Code

my_string = "Syntax Scenarios is an amazing website for learning fundamental programming concepts"
sliced_string = my_string[23:38]  
print(sliced_string)

Output

amazing website

2. Truncate a String Using textwrap.shorten()

Python also provides the textwrap module for handling long text. The shorten() function truncates a string without breaking words. It also adds a placeholder, such as "..." at the end. To use the shorten() method, first you need to import the textwrap module.
This method is useful when displaying clean previews of sentences or paragraphs.

Imagine a long wooden ladder. If you want to shorten it, you simply cut it at a specific step. Similarly, the shorten() function works the same way. You pass a width to set where the string gets cut, and shorten() truncates it there. It then adds a placeholder like ‘…’ at the end to indicate truncation. By default, this is three dots, but you can pass a custom placeholder of your choice.”

shorten() real-world example truncate string
Shorten() Example

Syntax

textwrap.shorten(text, width, placeholder)
  • text: string to shorten
  • width: maximum length of text
  • placeholder: text added at the end

Code

import textwrap

my_string = "Syntax Scenarios is an amazing website for learning fundamental programming concepts"
truncated_string = textwrap.shorten(my_string, width=38,placeholder="")
print(truncated_string)

Output

Syntax Scenarios is an amazing website

3. Truncate String Using rsplit()

The rsplit() method is normally used to split strings. However, it can also help truncate text before a specific word or character.
This method is useful when you want to remove everything after a certain keyword.

Syntax

string.rsplit(separator, maxsplit)
  • separator: The word or character where the split should occur
  • maxsplit: Optional. Number of splits to perform

Code

my_string = "Syntax Scenarios is an amazing website for learning fundamental programming concept"
substrings = my_string.rsplit('for')
truncated_string = substrings[0]
print(truncated_string)

Output

Syntax Scenarios is an amazing website

4. Truncate a String Using Regular Expressions

Regular expressions (Regex) allow you to match patterns inside text. They can also remove characters from the end of a string.
To use regex in Python, we import the re module.

Syntax

re.sub(pattern, replacement, string)
  • pattern: The regex pattern to search for
  • replacement: Text that replaces the matched pattern
  • string: The original string to process

In the pattern '.{33}', the dot . is a wildcard matching any character except a newline. Then {33} specifies exactly 33 characters to match. Finally, $ ensures the match occurs at the end of the string. Together, this pattern selects the part to remove, and sub() replaces it with an empty string.

Code

my_string = "Syntax Scenarios is an amazing website for learning fundamental programming concepts"
pattern=r'.{33}$'
truncated_string = re.sub(pattern," ", my_string)
print(truncated_string)

Output

Syntax Scenarios is an amazing website for learning

5. Truncate a String Using a Loop

Sometimes you may want custom control over how truncation works. In that case, you can build a truncated string manually using a loop.
This approach is less common but helpful for learning how strings work internally.

Syntax

for i in range(limit):
    new_string += original_string[i]
  • range(limit): Number of characters to keep
  • original_string[i]: Access each character
  • new_string: Stores the truncated result

Code

my_string = "Syntax Scenarios is an amazing website for learning fundamental programming concepts"
truncated_string = ""
for i in range(23, 38):
   truncated_string += my_string[i]  
print(truncated_string)

Output

amazing website

Quick Comparison of Truncation Methods

MethodBest For
String slicingSimple character limits
textwrap.shorten()Clean previews without breaking words
rsplit()Truncating before a specific word
RegexPattern-based truncation
LoopCustom logic

Common Situations Where String Truncation Is Used

String truncation appears in many real applications.

1. Blog previews: Websites often display only the first 100 characters of an article.

2. Social media character limits: Platforms like Twitter limit posts to a fixed number of characters. Truncation ensures users do not exceed the allowed length.

3. User profile descriptions: Many apps limit bio descriptions to 150 characters.

4. Mobile app interfaces: Buttons and UI cards have limited space. Long text may break the layout, so truncation keeps the interface clean.

5. Log messages and dashboards: Server logs can become very long. Truncating them makes debugging dashboards easier to read.

Common Mistakes When Truncating Strings

Here are a few mistakes beginners often make:

  • Forgetting that Python indexes start from 0
  • Cutting text in the middle of a word
  • Not adding "..." to indicate truncated text
  • Using complex methods when simple slicing would work

Choosing the right method helps keep code clean and readable

Conclusion

Truncating a string in Python simply means shortening a string to a desired length. The easiest method is string slicing, which quickly extracts a portion of the text.
However, depending on your use case, other tools like textwrap.shorten(), rsplit(), regular expressions, or loops may work better. By understanding these methods, you can control how text appears in applications such as blogs, dashboards, and user interfaces.

Try these examples yourself in our Python Compiler and experiment with different truncation methods to see how Python handles string manipulation in real time.

FAQs

How to truncate strings in Python?

One of the simplest ways to truncate a string in Python is by using string slicing. Slicing lets you extract a portion of a string by specifying a range of indexes. For example, text[:10] keeps only the first 10 characters of the string while removing the rest.

Why would you want to truncate a string in Python?

Truncating a string is useful when you only need a short portion of text. For example, websites often display article previews or summaries instead of full content. Shortening long strings also improves readability and helps manage character limits in user interfaces or social media posts.

How does the textwrap module help truncate strings?

Python’s textwrap module provides the shorten() function, which truncates text to a specified width without breaking words. It automatically adds a placeholder such as "..." to indicate that the string has been shortened. This makes it useful for displaying clean text previews.

How to truncate something in Python?

Python provides functions like math.trunc() and int() to truncate numbers. The math.trunc() function removes the decimal part and returns the integer portion of a number. While this is used for numeric truncation, string truncation is usually done using slicing or text-processing methods.

How to remove the first 3 characters of a string in Python?

You can remove the first characters of a string using string slicing. For example, text[3:] removes the first three characters and keeps the rest of the string. Other techniques such as replace(), translate(), or re.sub() can also help remove specific characters during text processing.

Scroll to Top