![]() |
|
[Tut] How to Ignore Case in Strings - Printable Version +- Sick Gaming (https://sickgaming.net) +-- Forum: Programming (https://sickgaming.net/forum-76.html) +--- Forum: Python (https://sickgaming.net/forum-83.html) +--- Thread: [Tut] How to Ignore Case in Strings (/thread-99840.html) |
[Tut] How to Ignore Case in Strings - xSicKxBot - 08-22-2022 How to Ignore Case in Strings 5/5 – (1 vote) Problem Formulation and Solution Overview In this article, you’ll learn how to ignore (upper/lower/title) case characters when dealing with Strings in Python. The main reason for ignoring the case of a String is to perform accurate String comparisons or to return accurate search results. For example, the following three (3) Strings are not identical. If compared with each other, they would return False. Code: when life gives you lemons, make lemonade. WHEN LIFE GIVES YOU LEMONS, MAKE LEMONADE.When Life Gives You Lemons, Make Lemonade.This is because each character in the ASCII Table assigns different numeric values for each key or key combination on the keyboard. This article outlines various ways to ignore the case of Strings. Question: How would we write code to compare Strings?We can accomplish this task by one of the following options:
Method 1: Use lower() and a lambda This method uses Code: lower()Code: lambdaCode: ListCode: staff = ['Andy', 'MAci', 'SteVe', 'DarCY', 'Harvey']
staff_lower = list((map(lambda x: x.lower(), staff)))
print(staff_lower)Above declares a Code: ListCode: DarcyCode: DarcyCode: DarCY Info: A Code: lCode: aCode: mbdaCode: staffCode: map()Code: staff_lowerCode: ['andy', 'maci', 'steve', 'darcy', 'harvey']If a comparison was made now, it would find the correct Employee. Code: if ('Darcy'.lower() == staff_lower[3]): print('Match Found!')Match Found! Method 2: Use upper() and List Comprehension This method uses Code: upper()Code: brands = ['ChaNnel', 'CLINique', 'DIOR', 'Lancome', 'MurAD']
brands_upper = [x.upper() for x in brands]
print(brands_upper)Above declares a List of the Top five (5) Beauty Brands in the world. If we were searching for a Company, such as Code: ChannelCode: ChannelCode: ChaNnelAhttps://blog.finxter.com/a-simple-introduction-of-the-lambda-function-in-python/List Comprehension is called and converts each element in Code: brandsCode: brands_upperCode: ['CHANEL', 'CLINIQUE', 'DIOR', 'LANCOME', 'MURAD']If a comparison was made now, it would find the correct Brand. Code: my_fav = 'Murad'
if (my_fav.upper() == brands_upper[4]): print(f'{my_fav} Found!')Murad Found! Method 3: Use title() This method uses Code: title()Code: full_name = 'jessica a. barker'.title()
print(full_name)Above accepts a string, appends the Code: title()Code: full_nameCode: Jessica A. BarkerMethod 4: Use casefold() and a Dictionary This method uses Code: casefold()Code: lower()Code: phrase = 'Nichts ist unmöglich für den Unwilligen!'
cfold = phrase.casefold()
print(cfold)Above creates a quote in German and saves it to Code: phraseCode: nichts ist unmöglich für den unwilligen!What does this say? Method 5: Use lower() and Dictionary Comprehension This method uses Use Code: lower()Code: employees = {'Sandy': 'Coder', 'Kevin': 'Network Specialist', 'Amy': 'Designer'}
result = {k: v.lower() for k, v in employees.items()}
print(result)Above creates a Dictionary containing Rivers Employees Names and associated Job Title. This saves to Code: employeesNext, Dictionary Comprehension is used to loop through the values in the key:value Dictionary pairs and convert the values to lower case. The output saves to Code: resultCode: {'Sandy': 'coder', 'Kevin': 'network specialist', 'Amy': 'designer'}Bonus: CSV Column to title() case In this Bonus section, a CSV file you are working with contains a column of Full Names. You want to ensure all data entered in this column is in Code: title()Contents of Code: finxter_users.csvFID | Full_Name 30022145 | sally jenkins 30022192 | joyce hamilton 30022331 | allan thompson 30022345 | harry stiller 30022157 | ben hawkins Code: import pandas as pd users = pd.read_csv('finxter_users.csv')
users['Full_Name'] = users['Full_Name'].str.title()
print(users)Above imports the Pandas library. For installation instructions, click here. Next, the Code: finxter_users.csvCode: usersThe highlighted line directly accesses all values in the Code: users['Full_Name']Code: title()Code: users['Full_Name']| FID | Full_Name 0 | 30022145 | Sally Jenkins 1 | 30022192 | Joyce Hamilton 2 | 30022331 | Allan Thompson 3 | 30022345 | Harry Stiller 4 | 30022157 | Ben Hawkins Note: Don’t forget to save the DataFrame to keep the changes.Summary These six (6) methods of ignoring cases in Strings should give you enough information to select the best one for your coding requirements. Programmer Humor Question: Why do programmers always mix up Halloween and Christmas? Answer: Because Oct 31 equals Dec 25.(If you didn’t get this, read our articles on the Code: oct()Code: int() |