Извлечение строки из двух специальных символов и замена ее новой строкой в python

#python #python-3.x #regex #scripting #re

#python #python-3.x #регулярное выражение #написание сценариев #python-re

Вопрос:

Я пытаюсь извлечь строку между двумя символами и заменить ее новой строкой при каждом появлении старой строки в файле.

Пример :

Str1= «portid.router.address_location»

str2= «$addressmap= portid.ipaddress»

Str1 и Str2 являются частью одного файла . Кроме того, str1 и str2 имеют множество вхождений в моем текстовом файле, и мне нужно заменить каждое вхождение строки «portid» строкой с именем «devicenumber» .

Исправление к моему вопросу: переменная portid не является стабильной. переменная port id будет постоянно меняться для каждого файла. Пример: «portid_id6_add7» в одном файле и «portid_id100_add7» в другом

Комментарии:

1. Каков был результат того, что вы попробовали? Сработало ли это? Если нет, то что пошло не так? В чем ваш вопрос?

2. Похоже на регулярное выражение (Regular Expression: en.wikipedia.org/wiki/Regular_expression ) может быть тем, что вы ищете. Трудно сказать, хотя, потому что в вашем вопросе могло бы потребоваться немного больше деталей о контексте ситуации.

Ответ №1:

Если вы хотите использовать regex модуль конкретно в python, попробуйте что-то вроде замены появления конкретной строки чем-то другим:

 import re

lst = ['portid.router.address_location', '$addressmap= portid.ipaddress']
regex = re.compile('portid')

for string in lst:
   regex.sub('devicenumber', string)
  

Поместите это в свою оболочку python, и вы увидите каждую измененную строку.