There are a number of functions in python string library. String functions don't change the string itself, they return a modified string. These functions saves us a lot of time.
Syntax: string_name.function_name()
- lower(): returns a copy string with all lower case letter.
line='Hello World'
temp= line.lower()
print(temp)
>> hello world
- upper(): returns a copy string with all upper case letter.
text = 'Hello World'
temp = text.upper()
print(temp)
Output:
HELLO WORLD
- Capitalize(): capitalize the first letter of the string
s="python is fun"
c=s.capitalize()
print(c)
>>Python is fun
- title(): capitalize each word of the title(string)
s="hello world"
c=s.title()
print(c)
>>Hello World
- strip(): returns a copy string with all whitespace removed before and after letters.
text = ' Hello World
'
temp = text.strip()
print(text)
print(temp)
Output:
Hello World
Hello World
- lstrip(): Returns a copy string with all whitespace remove before(left side) letters.
text = ' Hello World
'
temp = text.lstrip()
print(text)
print(temp)
Output:
Hello World
Hello World
- rstrip(): Returns a copy string with all whitespace remove after(right side) letters. Ex:
text = ' Hello World
'
temp = text.lstrip()
print(text)
print(temp)
Output:
Hello World
Hello World
- count(substring): returns total occurrence of that substring, Ex:
text = 'Banana'
temp = text.count('a')
print(text)
print(temp)
Output:
Banana
3
- startswith(substring): returns True if the string starts with given substring. Ex:
text = 'Hello'
temp = text.startswith('He')
print(text)
print(temp)
Output:
Hello
True
- endswith(substring): returns True if the string ends with the given substring. Ex:
text = 'Hello'
temp =text.endswith('hi')
print(text)
print(temp)
Output:
Hello
False
- find(substring): returns the index of first occurrence of that substring.
Ex:
text = 'Banana'
temp = text.find('a')
print(text)
print(temp)
Output:
Banana
1
- replace(oldstring, newstring): replace every instance of oldstring with new string. Ex:
text = 'Hello'
temp = text.replace('l','nt')
print(text)
print(temp)
Output:
Hello
Hentnto
dir('This is a string') / dir(' '):Get to see all the string functions present in python.
You can use two methods together.
Name=name.strip().title()
ASCII Code
=> Machines do not understand text, not even decimals. Machines just understand binary.
If we write "a"(string), it won't understand. To understand, machines convert them into binary. In that case, to convert string into binary, we first need to convert strings into numbers. So then comes ASCII.
ASCII (American Standard Code for Information Interchange) is a code for representing English characters as numbers assigned from 0 to 127.
ord and chr
Ord: ord function returns the corresponding ASCII value of a character.
Ord('a')
>> 97
Ord('b')
>> 98
Chr: chr function returns the corresponding string of a number.
Chr(97)
>>a
Example Problem
Now, we'll try to use our knowledge of functions and ASCII code with an example problem.
Problem: In this problem, you'll ask the user for writing something in uppercase and your code will return the same text in lowercase. Here we're expecting that the user will provide a text and nothing else.
Solution 1: Using default .lower() function
def uppercase_to_lowercase():
#Prompts the user to input text in uppercase and prints the text in lowercase.
uppercase = input("Write something in uppercase: ")
lowercase = uppercase.lower()
print(lowercase)
# Call the function
uppercase_to_lowercase()
#output
#Write something in uppercase: "HELLO,WORLD!"
#hello,world!
Solution 2:Without using default .lower() function
Now, let's try to solve this problem in a different way. This time we'll not use the default .lower() function. You may ask why we need to solve this problem without the default function whereas default function is there to make our life easier. That's true but it's also a nice practice to understand how these default function works. When you understand the core mechanics of these functions it will develop your programming skill.
So, we'll try to convert our text into lowercase using ASCII value.
test="MICROsoft"
lower=""
for i in test:
if 65<=ord(i)<=90:
lower+=chr(ord(i)+32)
else:
lower+=i
print(lower)
This solution will work even if there's any small letters in the capitalized string.
Brainstorm: Think about why we have done additon of 32 in the code? Look at the ASCII code picture to think about
So, this is all for today. I hope now you can use the string default functions whenever you need. And you also have an idea how to solve problem even if you dont know the functions using ASCII code. Happy coding!
Top comments (0)