import re, os
def replace_one_line_content_with_other(input_text):
word_to_replace, replacement_word = "", ""
if (os.path.isfile('data_association/names.txt')):
word_file_path = 'data_association/names.txt'
else:
open('data_association/names.txt', "w")
word_file_path = 'data_association/names.txt'
#name_capture_pattern = r"([A-Z][\wí]+\s*(?i:del|de\s*el|de)\s*[A-Z]\w+)"
name_capture_pattern = r"((?:\w+))?"
regex_pattern = r"(?i:no\s*es)\s*" + name_capture_pattern + r"\s*(?i:sino\s*que\s*es)\s*" + name_capture_pattern
n0 = re.search(regex_pattern, input_text)
if n0:
word_to_replace, replacement_word = n0.groups()
print(repr(word_to_replace)) # --> word that I need identify in the txt
print(repr(replacement_word)) # --> word by which I will replace the previous one
#After reaching this point, the algorithm will already have both words, both the one that must be replaced (in case it is identified within the txt) and the one with which it will be replaced.
numero = None
with open(word_file_path) as f:
lineas = [linea.strip() for linea in f.readlines()]
#Find the word in the .txt file where the words are stored
if word_to_replace in lineas: numero = lineas.index(word)+1
#REPLACE word_to_replace with replacement_word in this .txt line
input_text = "No es Marín sino que es Marina"
replace_one_line_content_with_other(input_text)
After identifying the string stored in the word_to_replace = 'Marín' variable inside the .txt file, I must replace it with the string that is inside the replacement_word = 'Marina' variable.
Original content in the .txt file (it must be assumed that we do not know which line the word is on, so the line number could not be indicated)
Lucy
Martin
Lucila
Samuel
Katherine
María del Pilar
Maríne
Marín
Steve
Robert
And the .txt content after the modification:
Lucy
Martin
Lucila
Samuel
Katherine
María del Pilar
Maríne
Marina
Steve
Robert