String Methods¶
The “dot notation” is the way we connect an object to one of its attributes or to invoke a method on that object. There are a wide variety of methods for string objects. Try the following program.
In this example, upper
is a method that can be invoked on any string object
to create a new string in which all the
characters are in uppercase. lower
works in a similar fashion changing all characters in the string
to lowercase. (The original string ss
remains unchanged. A new string tt
is created.)
In addition to upper
and lower
, the following table provides a summary of some other useful string methods. There are a few activecode examples that follow so that you can try them out.
Method | Parameters | Description |
---|---|---|
upper | none | Returns a string in all uppercase |
lower | none | Returns a string in all lowercase |
strip | none | Returns a string with the leading and trailing whitespace removed |
count | item | Returns the number of occurrences of item |
replace | old, new | Replaces all occurrences of old substring with new |
find | item | Returns the leftmost index where the substring item is found |
rfind | item | Returns the rightmost index where the substring item is found |
index | item | Like find except causes a runtime error if item is not found |
rindex | item | Like rfind except causes a runtime error if item is not found |
split | item | Splits a string into a list based on specified character where it will split string at |
You should experiment with these methods so that you understand what they do. Note once again that the methods that return strings do not change the original. You can also consult the Python documentation for strings.
Check your understanding
- 0
- There are definitely o and p characters.
- 2
- There are 2 o characters but what about p?
- 3
- Yes, add the number of o characters and the number of p characters.
rec-5-1: What is printed by the following statements?
s = "python rocks"
print(s.count("o") + s.count("p"))
- yyyyy
- Yes, s[1] is y and the index of n is 5, so 5 y characters. It is important to realize that the index method has precedence over the repetition operator. Repetition is done last.
- 55555
- Close. 5 is not repeated, it is the number of times to repeat.
- n
- This expression uses the index of n
- Error, you cannot combine all those things together.
- This is fine, the repetition operator used the result of indexing and the index method.
rec-5-2: What is printed by the following statements?
s = "python rocks"
print(s[1]*s.index("n"))