perl 如何在指定行插入字符串?
比如:1aaaaaa2bbbbb3...................n.........我想在X行插入lala,怎么做?...
比如:
1 aaaaaa
2 bbbbb
3 .........
. .........
n .........
我想在X行插入lala,怎么做? 展开
1 aaaaaa
2 bbbbb
3 .........
. .........
n .........
我想在X行插入lala,怎么做? 展开
3个回答
展开全部
做个marker,从文件中每读入一行就让marker加1.当marker跟你的x行相同的时候。插入你需要插入的内容。
举个简单的例子:
open IN,"f:/a.txt"||die $!; #读入文件
open OUT,">f:/b.txt"||die $!; #输出文件
$marker=0;
$x=5; #要插入的行
while(<IN>){
$marker++;
if($marker==5){
print OUT "5\tlala\n";
}
print OUT $_;
}
当然你可把他写成一个函数,传参进去,那样更加灵活。希望有帮助~~。
举个简单的例子:
open IN,"f:/a.txt"||die $!; #读入文件
open OUT,">f:/b.txt"||die $!; #输出文件
$marker=0;
$x=5; #要插入的行
while(<IN>){
$marker++;
if($marker==5){
print OUT "5\tlala\n";
}
print OUT $_;
}
当然你可把他写成一个函数,传参进去,那样更加灵活。希望有帮助~~。
更多追问追答
追问
open IN,"f:/a.txt"||die $!; #读入文件
open OUT,">f:/b.txt"||die $!; #输出文件
$marker=0;
$x=5; #要插入的行
while(){
$marker++;
if($marker==5){
print OUT "5\tlala\n";
}
print OUT $_; #这行是什么意思??
}
文中倒数第2行是什么意思?
输出文件和原来的文件不是同一个吗?
追答
嗯 是同一个啊。不是同一个的话,你不就把你原来的数据删掉了吗?只是在原来的基础上在特定的位置上插入一条啊。你要的不就是往里面插入一条数据吗?难道我理解错了~~??你可以先运行下嘛。如果不对再讨论讨论~呵呵呵
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
TableDI
2024-07-18 广告
2024-07-18 广告
在Excel中,字符串匹配函数主要用于查找和定位特定字符串在文本中的位置或进行替换操作。常用的字符串匹配函数包括FIND、SEARCH、SUBSTITUTE和REPLACE等。FIND和SEARCH函数用于查找字符串的位置,而SUBSTIT...
点击进入详情页
本回答由TableDI提供
展开全部
我只会这么个笨方法:
假设x=5 原数据在test.txt中
$string="lalala\n";
open(IN,"test.txt")||die"Can't open\n";
@array=<IN>;
close(IN);
for($i=0;$i<scalar(@array);$i++)
{
if($i!=5)
{
push(@arr,$array[$i]);
}
else
{
push(@arr,$string);
}
}
print @arr;
假设x=5 原数据在test.txt中
$string="lalala\n";
open(IN,"test.txt")||die"Can't open\n";
@array=<IN>;
close(IN);
for($i=0;$i<scalar(@array);$i++)
{
if($i!=5)
{
push(@arr,$array[$i]);
}
else
{
push(@arr,$string);
}
}
print @arr;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#! usr/bin/perl
my $row=n; #------n就是你设的第几行
my $i=1;
open IN,"< 1.txt"; #--源文件
open OUT,"> out.txt" #-----输出文件
while(<IN>){
print OUT $_ if($i != $row);
print OUT "$_\nlala\n" if($i == $row);
$i++;
}
close IN;
close OUT;
my $row=n; #------n就是你设的第几行
my $i=1;
open IN,"< 1.txt"; #--源文件
open OUT,"> out.txt" #-----输出文件
while(<IN>){
print OUT $_ if($i != $row);
print OUT "$_\nlala\n" if($i == $row);
$i++;
}
close IN;
close OUT;
追问
能不能在同一个文件中进行操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询