String Methods

There are a host of methods available for processing string objects. Here are a few examples. At this point it is sensible to introduce the comment character, #. The comment character allows you to put comments into your code for the purpose of documentation. While comments are not considered executable code, they are extremely useful for making your code readable and understandable.

#explore changing to uppercase and lowercase
a='good'
c=a.upper()
d=c.lower()
print(c)
print(d)
 
#join a list of strings together with a space in between the strings
b='morning'
e=' '.join([a,b,'today'])
print(e)
 
#find a string within a string
#find method returns the first index where string was found
x='a picture is worth a thousand words'
x1=x.find('picture')
print(x1)
x2=x.find('worth')
print(x2)
x3=x.find('words')
print(x3)
 
#split up a string into a list of smaller strings
#use the ' ' space character as the boundary (delimiter) to split up the string
y=x.split(' ')
print(y)
print(type(y))
 
#try the replace method ...
z=x.replace('thousand', 'million')
print(x)
print(z)

Take some time to explore your own versions of these examples.

String Methods

Here are some of the most common string methods. A method is like a function, but it runs "on" an object. If the variable s is a string, then the code s.lower() runs the lower() method on that string object and returns the result (this idea of a method running on an object is one of the basic ideas that make up Object Oriented Programming, OOP). Here are some of the most common string methods:
  • s.lower(), s.upper() -- returns the lowercase or uppercase version of the string 
  • s.strip() -- returns a string with whitespace removed from the start and end 
  • s.isalpha()/s.isdigit()/s.isspace()... -- tests if all the string chars are in the various character classes 
  • s.startswith('other'), s.endswith('other') -- tests if the string starts or ends with the given other string 
  • s.find('other') -- searches for the given other string (not a regular expression) within s, and returns the first index where it begins or -1 if not found 
  • s.replace('old', 'new') -- returns a string where all occurrences of 'old' have been replaced by 'new' 
  • s.split('delim') -- returns a list of substrings separated by the given delimiter. The delimiter is not a regular expression, it's just text. 'aaa,bbb,ccc'.split(',') -> ['aaa', 'bbb', 'ccc']. As a convenient special case s.split() (with no arguments) splits on all whitespace chars. 
  • s.join(list) -- opposite of split(), joins the elements in the given list together using the string as the delimiter. e.g. '---'.join(['aaa', 'bbb', 'ccc']) -> aaa---bbb---ccc 
A google search for "python str" should lead you to the official python.org string methods which lists all the str methods.

Python does not have a separate character type. Instead an expression like s[8] returns a string-length-1 containing the character. With that string-length-1, the operators ==, <=, ... all work as you would expect, so mostly you don't need to know that Python does not have a separate scalar "char" type.


Source: Google for Education, https://developers.google.com/edu/python/strings#string-methods
Creative Commons License This work is licensed under a Creative Commons Attribution 4.0 License.

Last modified: Tuesday, November 17, 2020, 3:40 PM