#100DaysOfCode in Python Transcripts
Chapter: Days 28-30: Regular Expressions
Lecture: Using re.sub for string replacing
0:00 Welcome back to the last section on the regex lesson.
0:03 This video will show you advanced string replacing
0:06 using re.sub.
0:08 For example, we have a string here
0:09 on doing the 100 days of code, 200 days of Django,
0:12 and, of course, 365 days of PyBites.
0:16 So you're doing a simple string replacement.
0:20 It's a bit ugly, right.
0:22 So this will work but.
0:25 When you start to do things multiple times,
0:28 you have to think about a better way to do it.
0:31 So let's use re.sub
0:34 to make a more flexible replacement regex.
0:38 So re.sub...
0:40 raw string
0:42 and I want one or more digits
0:44 and I just want to replace those by 100.
0:48 And I do that on the text
0:50 and this works as well and it's more flexible
0:54 because if there are will be like five or six
0:57 of these hashtags with different integers,
1:00 they all would work.
1:03 Now let's look at a more advanced example
1:07 where we also want to capture the thing we replaced.
1:12 Say, for the same string,
1:14 I want to replace the thing after the days off.
1:17 So all should be Python, but we want to respect the integer
1:21 so I want to have 100 days of Python,
1:23 200 days of Python, and 365 days of Python.
1:26 Doesn't really make sense in a sentence
1:28 but it does for our exercise.
1:30 And the way to do that is to write a re.sub...
1:35 raw string.
1:37 And let's define the regular expression as a literal hash.
1:45 One or more digits.
1:47 Hard-code days of
1:51 one or more alphanumeric characters.
1:55 Here, you see these capturing parenthesis again.
2:00 I'm going to use that in a replacement part
2:02 which is the second argument
2:04 and I can reference that with backslash one.
2:08 So what this does is it takes the...
2:12 match of hashtag...
2:15 digits days off
2:17 and I'm going to put that in the replacement string.
2:21 And then I want to hard-code Python
2:25 and I want to do this on text.
2:28 And there you go.
2:29 Awesome, I'm doing 100 days of Python, 200 days of Python,
2:33 and, of course, 365 days of Python.
2:35 That's a wrap.
2:37 I hope you enjoyed this and got a better feeling
2:40 of how to write your regexes in Python.
2:44 Of course it's not a complete list of all the features
2:47 and that's why in day two I will provide you
2:50 some more resources and things you can check out.