Я пытаюсь заменить строку подстрокой, которая находится между двумя другими частями.
Для описания у меня есть файл, содержащий некоторый текст. В этом текстовом файле есть одно слово, некоторые части которого написаны разными символами, например:
acc\E34rate
acc\?4rate
acc§54rate
.....
То, что я хочу написать в виде кода, это поиск для acc
, а затем rate
и затем заменить то, что между ними, на u
. Потому что все строки начинаются с первой и последней части.
Интересно, как я могу это сделать в Perl?
Спасибо!
Обновление: включая код
хорошо, что я написал:
use strict;
use warnings;
my @stringArray = ('acc\E34rate', 'acc\?4rate');
my $find = '\E34';
my $replace = 'u';
my @newArray;
foreach my $str(@stringArray)
{
my $pos = index($str, $find);
while($pos > -1) {
substr($str, $pos, length($find), $replace);
$pos = index($str, $find, $pos + length($replace));
}
push @newSrray, $str;
}
foreach(@newArray)
{
print "$_\r\n";
}
Для упрощения я добавил массив вместо файла. Потому что он работает только для правильного слова, а не для всего массива / файла.