The problem of capitalizing a string is quite common and has been discussed many times. But sometimes, we might have a problem like this in which we need to convert the first character of the string to lowercase. Let us discuss certain ways in which this can be performed.
Method #1: Using string slicing + lower() This task can easily be performed using the lower method which lowercase the characters provided to it and slicing can be used to add the remaining string after the lowercase first character.
Python3
test_str = "GeeksforGeeks"
print ( "The original string is : " + str (test_str))
res = test_str[ 0 ].lower() + test_str[ 1 :]
print ( "The string after lowercasing initial character : " + str (res))
|
Output : The original string is : GeeksforGeeks
The string after lowercasing initial character : geeksforGeeks
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #2: Using lambda + string slicing + lower() The recipe of lambda function has to be added if we need to perform the task of handling None values or empty strings as well, and this becomes essential to handle edge cases.
Python3
test_str = "GeeksforGeeks"
print ( "The original string is : " + str (test_str))
def res(test_str): return test_str[: 1 ].lower() +
test_str[ 1 :] if test_str else ''
print ( "The string after lowercasing initial character : " + str (res(test_str)))
|
Output : The original string is : GeeksforGeeks
The string after lowercasing initial character : geeksforGeeks
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #3 : Using replace() method without slicing
Python3
test_str = "GeeksforGeeks"
print ( "The original string is : " + str (test_str))
test_str = test_str.replace(test_str[ 0 ],test_str[ 0 ].lower(), 1 )
print ( "The string after lowercasing initial character : " + str (test_str))
|
OutputThe original string is : GeeksforGeeks
The string after lowercasing initial character : geeksforGeeks
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #4 : Using slicing and index() method
Python3
test_str = "GeeksforGeeks"
print ( "The original string is : " + str (test_str))
loweralphabets = "abcdefghijklmnopqrstuvwxyz"
upperalphabets = "ABCDEFGHIJKLMOPQRSTUVWXYZ"
res = loweralphabets[upperalphabets.index(test_str[ 0 ])] + test_str[ 1 :]
print ( "The string after lowercasing initial character : " + str (res))
|
OutputThe original string is : GeeksforGeeks
The string after lowercasing initial character : geeksforGeeks
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #5 : Using ord(),chr() functions
Python3
test_str = "GeeksforGeeks"
print ( "The original string is : " + str (test_str))
result = ""
if ( ord (test_str[ 0 ]) < = ord ( 'Z' )):
result = chr ( ord (test_str[ 0 ]) + 32 )
result + = test_str[ 1 :]
else :
result = test_str
print ( "The string after lowercasing initial character : " + str (result))
|
OutputThe original string is : GeeksforGeeks
The string after lowercasing initial character : geeksforGeeks
Method #7: Using Regular Expression and the re.sub() function
This method involves using the re.sub() function to replace the first character of the string with its lowercase form.
Step-by-step approach:
- Initialize the string.
- Import the re module to use regular expression functions.
- Define a regular expression pattern to match the first character of the string.
- Define a replacement function that will return the lowercase version of the matched character.
- Use the re.sub() function to replace the first character of the string with its lowercase form using the pattern and replacement function.
- Print the resulting string.
Below is the implementation of the above approach:
Python3
import re
test_str = "GeeksforGeeks"
print ( "The original string is : " + str (test_str))
def repl_func(match):
return match.group( 1 ).lower()
result = re.sub(r '^(.)' , repl_func, test_str)
print ( "The string after lowercasing initial character : " + str (result))
|
OutputThe original string is : GeeksforGeeks
The string after lowercasing initial character : geeksforGeeks
Time complexity: O(n) where n is the length of the string.
Auxiliary space: O(n) where n is the length of the string.