Python Program to Print the first letter of each word using regex

Regular expressions (regex) in Python provide powerful pattern-matching capabilities for text manipulation. We can extract the first letter of each word using regex patterns that identify word boundaries. In this article, we will explore different approaches to print the first letter of each word using regex.

Regular Expressions Overview

Regular expressions are sequences of characters that define search patterns. They are widely used for text processing tasks like validation, extraction, and manipulation. Python's re module provides comprehensive regex functionality.

Method 1: Using findall() with Word Boundaries

The re.findall() method finds all non-overlapping matches of a pattern in a string. We use the pattern \b\w where \b represents a word boundary and \w matches the first word character.

Syntax

re.findall(pattern, string, flags=0)

Example

import re

def first_letter(string):
    words = re.findall(r'\b\w', string)
    return "".join(words)

string = "Python is a popular programming language"
result = first_letter(string)
print("First letters:", result)
First letters: Piappl

Method 2: Using split() with Non-Word Characters

This approach splits the string into words using non-word characters as delimiters, then extracts the first character of each word.

import re

def first_letter(string):
    return ''.join([word[0] for word in re.split(r'\W+', string) if word])
    
string = "Python is a popular programming language"
result = first_letter(string)
print("First letters:", result)
First letters: Piappl

Method 3: Using finditer() for Iterator Approach

The re.finditer() method returns an iterator of match objects, allowing us to process each match individually.

import re

def first_letter(string):
    result = ""
    for match in re.finditer(r'\b\w', string):
        result += match.group()
    return result

string = "Python is a popular programming language"
result = first_letter(string)
print("First letters:", result)
First letters: Piappl

Method 4: Handling Special Characters

This method captures delimiters separately, which can be useful when working with strings containing special characters or punctuation.

import re

def first_letter_with_spaces(string):
    # This preserves spaces in output
    parts = re.split(r'(\s+)', string)
    result = []
    for part in parts:
        if part.strip():  # If not whitespace
            result.append(part[0])
        elif part:  # If whitespace
            result.append(part)
    return ''.join(result)

string = "Python is a popular programming language"
result = first_letter_with_spaces(string)
print("With spacing:", result)
With spacing: P i a p p l

Comparison of Methods

Method Pattern Used Best For Performance
findall() \b\w Simple extraction Fast
split() \W+ Word-based processing Medium
finditer() \b\w Memory-efficient iteration Fast
Split with capture (\s+) Preserving formatting Slower

Conclusion

Regular expressions provide multiple ways to extract first letters from words. Use re.findall() with \b\w pattern for simple cases, or re.split() when you need more control over word separation. Choose the method based on your specific requirements for performance and output formatting.

Updated on: 2026-03-27T07:29:00+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements