找到匹配项后插入一个字符串行
答
鉴于你的问题不清楚你的脚本必须如何动态或静态的是,事实上,你没有给任何的例子,我在这里只举一个简单的解决方案,你指出正确的方向。它会搜索字串,然后在它后面添加一个换行符。它还使用/g
开关,因此它将在全局范围内为字符串中的所有string
单词执行此操作。
use strict;
use warnings;
my $str = "this is my string";
$str=~s/string/string\nAnother string/g;
print $str;
从这里,我建议你把一些精力做一些研究,而不是只期待的一切给予。你似乎是一个Perl初学者,所以搜索谷歌Perl Tutorials
初学者,让你开始。
答
希望我理解正确的话,试试如下
您可以使用正则表达式demo
my $s = "Stack is a linear data structure stack follows a particular order in stack the operations are performed";
$s=~s/(.*?Stack){3}\K//i;
或者你可以用SUBSTR尝试也
use warnings;
use strict;
my $match_to_insert = 2; #which match you need to insert
my $f = 1;
while($s=~m/stack/gi)
{
substr($s,$+[0],0) = "\n" , last if($f eq $match_to_insert);
$f++;
}
print "$s\n";
$+[0]
这将给指数匹配字符串的位置,我使用该索引创建substr函数,并在该位置插入'\ n'。
你的问题是模糊的,缺乏例如你想实现什么,最重要的是显示了从你身边绝对没有努力去解决它。祝你好运。 –
你有什么尝试?你有什么问题?请告诉我们你的代码。如果你没有任何代码,堆栈溢出可能是错误的地方问你的问题。 –