Skip to content

Replace Spaces with Underscores in Python


Python Tutorial: Replacing Spaces with Underscores in H2 and H3 Headings

In this Python tutorial, we will learn how to replace spaces with underscores in H2 and H3 headings using Python. This tutorial will provide detailed, step-by-step instructions and include executable sample codes to demonstrate the process.

Step 1: Importing the Required Modules

To get started, we need to import the necessary modules for our Python script:

import os
import re

Step 2: Defining the Replace Spaces Function

Next, we will define a function called replace_spaces that takes a string and replaces spaces with underscores:

def replace_spaces(string):
return re.sub(r'\s', '_', string)

Step 3: Finding and Replacing Spaces in H2 and H3 Headings

Now, let’s recursively search for H2 and H3 headings in a given directory and replace any spaces found with underscores:

def find_replace(file):
with open(file, 'r') as f:
content =
# Find H2 and H3 headings using regular expressions
headings = re.findall(r'<h[23]>(.*?)</h[23]>', content)
# Replace spaces with underscores in each heading
new_headings = [replace_spaces(h) for h in headings]
# Replace old headings with new headings in the content
for old, new in zip(headings, new_headings):
content = content.replace(old, new)
# Save the modified content back to the original file
with open(file, 'w') as f:

Step 4: Running the Code

To execute the code, we need to provide the directory path where the HTML files are located. The script will then search for all HTML files in the directory and its subdirectories, and replace spaces with underscores in the H2 and H3 headings of each file.

def run_script(directory):
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".html"):
full_path = os.path.join(root, file)
# Replace the directory path with your desired path
directory_path = "/path/to/html/files"

Step 5: Verifying the Changes

After running the code, you can verify the changes by opening the modified HTML files in a web browser or checking the relevant H2 and H3 headings programmatically.


In this tutorial, we have learned how to replace spaces with underscores in H2 and H3 headings using Python. We walked through the process step by step and provided detailed explanations along with executable sample codes. This method can be particularly useful when working with HTML files that require consistent formatting of headings.