Извините, если это повторяющаяся тема, но я искал внутри форума, и я нашел только похожие, но не одинаковые вопросы.Perl: быстрая замена появления нескольких слов в массиве
Моя проблема:
У меня есть массив строк, как это:
@array = ("My name is "Annie" \n", "My mother's name was "Annie", too. \n", "I am "27" years old \n", "I live in "Minnesota" \n");
И еще один массив строк, как этот:
@subs = ("Annie", "22", "Minnesota");
Я хотел бы to:
1) найти любое вхождение слов из второго массива в первом массиве (например: Энни соответствовала бы первому и второму элементу, штат Миннесота, только с последним).
2) замените все слова, которые соответствуют любому элементу второго массива с тем же словом, за которым следует «-DATA» (например: «Меня зовут« Annie-DATA »\ n»).
Я думаю, что это можно было бы легко сделать с помощью одного или двух циклов, но мне интересно, есть ли какой-нибудь более быстрый способ, возможно, с помощью умного использования регулярных выражений PERL.
Спасибо!
Настоящая проблема не должна быть добавлена -DATA или не так ли? Там может быть лучший способ взглянуть на проблему. – aartist
Что это значит? Возможно, мне следует указать, что реальный ввод/вывод моей программы намного сложнее, чем в этом примере, который я опубликовал. Однако у меня также есть ощущение, что я могу столкнуться с проблемой неправильно, потому что эта часть моего алгоритма (не показана здесь) немного запутана, поэтому вы можете быть правы. – selenocysteine