Star Wars Solution¶
import re
newquote = re.sub(
pattern='\d+ death sticks',
repl="some death sticks",
string=quote
)
print(newquote)
# You wanna buy some death sticks for 8 dollars?
# You don't want to sell me some death sticks.
# How about some death sticks for 80 dollars?
# No.
# some death sticks for 2 dollars?
# Yeah I'll go for that.
Explanation¶
\d
matches a single digit\d+
matches one or more digits\d+ death sticks
matches one or more digits follow by " death sticks"
re.sub(pattern, repl, string, ...)
returns the string obtained by replacing the leftmost non-overlapping
occurrences of pattern in string by the replacement repl.
newquote = re.sub(
pattern='\d+ death sticks', # (1)!
repl="some death sticks", # (2)!
string=quote
)
print(newquote)
# You wanna buy some death sticks for 8 dollars?
# You don't want to sell me some death sticks.
# How about some death sticks for 80 dollars?
# No.
# some death sticks for 2 dollars?
# Yeah I'll go for that.
- Look for this pattern in string.
- Replace matches with this.