w3resource

Python: Convert snake case string to camel case string


Write a Python program to convert snake-case string to camel-case string.

From Wikipedia,
Camel case:
Camel case (sometimes stylized as camelCase or CamelCase, also known as camel caps or more formally as medial capitals) is the practice of writing phrases without spaces or punctuation, indicating the separation of words with a single capitalized letter, and the first word starting with either case. Common examples include "iPhone" and "eBay". It is also sometimes used in online usernames such as "johnSmith", and to make multi-word domain names more legible, for example in promoting "EasyWidgetCompany.com".

Snake case: Snake case (stylized as snake_case) refers to the style of writing in which each space is replaced by an underscore (_) character, and the first letter of each word written in lowercase. It is a commonly used naming convention in computing, for example for variable and subroutine names, and for filenames. One study has found that readers can recognize snake case values more quickly than camel case (but note that, "(...) subjects were trained mainly in the underscore style (...)", so the results may be biased).

Sample Solution:

Python Code:

def snake_to_camel(word):
        import re
        return ''.join(x.capitalize() or '_' for x in word.split('_'))

print(snake_to_camel('python_exercises'))

Sample Output:

PythonExercises

Pictorial Presentation:

Python: Regular Expression - Convert snake case string to camel case string.

Flowchart:

Flowchart: Regular Expression - Convert snake case string to camel case string.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a python program to convert camel case string to snake case string.
Next: Write a Python program to extract values between quotation marks of a string.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.