Python - Convert Snake case to Pascal case
Last Updated :
12 Jul, 2025
Converting a string from snake case to Pascal case involves transforming a format where words are separated by underscores into a single string where each word starts with an uppercase letter, including the first word.
Using title()
This method converts a snake case string into pascal case by replacing underscores with spaces and capitalizing the first letter of each word using the title() function. After capitalizing, the words are joined back together without spaces.
Python
s = 'geeksforgeeks_is_best'
res = s.replace("_", " ").title().replace(" ", "")
print(res)
OutputGeeksforgeeksIsBest
Explanation:
replace("_", " ")
: This handles the conversion of underscores to spaces.title():
This
ensures that the first letter of each word is capitalized.replace(" ", "")
: This removes any spaces, ensuring the result is in pascal case.
Using split()
This method splits the string by underscores, capitalizes each word and then joins them back together. It is efficient in terms of both time and readability.
Python
s= 'geeksforgeeks_is_best'
res = ''.join(word.capitalize() for word in s.split('_'))
print(res)
OutputGeeksforgeeksIsBest
Explanation:
split('_')
splits the string s into individual words at each underscore.capitalize()
capitalizes the first letter of each word.''.join()
joins the list of words into a single string without any separator.
Using re.sub()
Regular expressions are highly flexible and can be used to replace underscores and capitalize the first letter of each word efficiently.
Python
import re
s= "geeksforgeeks_is_best"
res= re.sub(r"(^|_)([a-z])", lambda match: match.group(2).upper(), s)
print(res)
OutputGeeksforgeeksIsBest
Explanation:
(^|_)
matches either the start of the string (^
) or an underscore (_
).([a-z])
matches any lowercase letter (a-z
) following the start of the string s or an underscore.lambda match: match.group(2).upper()
converts the matched lowercase letter (group 2) to uppercase.
Using for loop
This approach manually iterates through each character in the string, capitalizes the first letter after an underscore and constructs the PascalCase string incrementally.
Python
s= 'geeksforgeeks_is_best'
res = ""
capNext = True # Flag to track if the next character should be capitalized
for char in s:
if char == '_':
capNext = True
elif capNext:
res += char.upper() # Capitalize the current character
capNext = False
else:
res += char # Add the character as it is
print(res)
OutputGeeksforgeeksIsBest
Explanation:
- for char in s iterates through each character in the string s.
- if char == '_' sets capNext = True to indicate the next character should be capitalized.
- elif capNext: If the flag is True, the character is converted to uppercase and appended to res and the flag is reset with capNext = False.
- else: If the flag is False, the character is appended to res .
Similar Reads
Interview Preparation
Practice @Geeksforgeeks
Data Structures
Algorithms
Programming Languages
Web Technologies
Computer Science Subjects
Data Science & ML
Tutorial Library
GATE CS