Examples :
Input: GeeksForGeeks Output: geeks_for_geeks Input: ThisIsInCamelCase Output: this_is_in_camel_case
Let’s see how we can accomplish this task.
Method # 1: Naive approach
This is a naive implementation for converting camel craft into snake craft. First, we initialize the res variable with an empty list and add the first (lowercase) character to it. Now, every time we come across an uppercase alphabet, we add & # 39; _ & # 39; and the alphabet (lowercase) to & # 39; res & # 39;, otherwise just add the alphabet only.
# Python3 string conversion program # from camel to snake def change_case ( str ): res = [ str [ 0 ]. Lower ()] for c in str [ 1 :]: if c in ( ’ ABCDEFGHIJKLMNOPQRSTUVWXYZ’ ): res.append ( ’ _’ ) res.append (c.lower ()) else : res.append (c) return ’’ .join (res) # Driver code str = "GeeksForGeeks" print (change_case ( str )) |
Exit :
geeks_for_geeks
Method # 2: Understanding the List
# Python3 string conversion program # camel to snake def change_case ( str ): return ’ ’ .join ([’ _’ + i.lower () if i.isupper () else i for i in str ]). lstrip ( ’_’ ) # Driver code str = "GeeksForGeeks" print (change_case ( str )) |
Exit:
geeks_for_geek s
Method # 3: Python Reduce ()
The Python Reduce () method applies function to all string alphabets, wherever it finds capital letters, it adds "_" in front of it and replaces capital letters with lowercase ones.
# Python3 conversion program lines # from camel to snake from functools import reduce def change_case ( str ): return reduce ( lambda x, y: x + ( ’_’ if y.isupper () else ’’) + y, str ). lower () # Driver code str = "GeeksForGeeks" print (change_case ( str )) |
Exit:
geeks_for_geeks
Method # 4: Python Regex
# Python3 string conversion program # from camel to snake import re def change_case ( str ): s1 = re.sub ( ’(.) ([AZ] [az] +)’ , r ’1_2 ’ , str ) return re.sub ( ’([a-z0-9]) ([AZ])’ , r ’ 1_2’ , s1) .lower () # Driver code str = "GeeksForGeeks" print (change_case ( str )) |
Exit:
geeks_for_geeks
Python program to convert camel case string to snake case Python functions: Questions
Python program to convert camel case string to snake case String Variables: Questions