I have this code:
with open("Text.txt") as txtFile:
for num, line in enumerate(txtFile, 1):
if "ABC" in line:
keyWord = "ABC"
keyWord = "#" + keyWord + "#"
I want to search Text.txt
for a keyword that contains a random number, that looks like this:
Keyword = [Word & random Number] or [ABC-1] / [ABC-1234]
The "Word" part is always the same but the number is up to 4 decimals (1-9999).
When the keyword is found, i want to highlight it like this:
ABC-1 to #ABC-1# with
keyWord = "ABC-1"
keyWord = "#" + keyWord + "#"
Question:
How can i search the file for ABC-1 and not just ABC
Using regular expressions and backreferences
import re
with open("text.txt", 'r') as txt_file:
with open("new_text.txt", 'w') as new_file:
p = re.compile('(ABC-\d{1,4})')
for line in txt_file:
new_line = p.sub(r'#\1#', line)
new_file.write(new_line)