请教一个字符串替换的问题
大家好,请教大家一个问题,我现在有一个文本,格式如下:text=“”
text=“”
text=“”
...
我有另外一个文本,我现在想把另外一个文本的数值填到上面的“”中,我自己想了个办法就是用两个数组,然后逐个赋值这样,不过一直通不过,请教各位有没有什么好方法呢?多谢各位啦!
把你的代码放上来,最起码也要把文本内容放上来,才能知道怎么帮你。 本帖最后由 很宅的男 于 2017-09-14 11:20 编辑
回复 2# 104359176
其实文本就是我给的那个样子,文本里面每行都是这样的,只是我需要把另一个数组里面的元素从前到后填到这个文本每行的text里面去。 比如数组里面是(1,2,3),那完成后文本就变成了:
text="1"
text="2"
text="3"
....
回复 3# 很宅的男
1. input file/data
2. procedure
3. output file/data
don't forget the example
回复 4# jason680
您好,整个文本和程序比较大,这个是其中的一个问题,全放上来不太方便,其实就算看了文本程序,跟我描述的也是一样的 回复 5# 很宅的男
an example or up to you
回复 6# jason680
您好,其实就是我的文本里面有一堆如下格式的内容: text=""
text=""
text=""
...
一行一个这样子
然后我需要将一个数组比如@arr=(1,2,3)的值按顺序填入到“”里面,最后文本就变成了:
text="1"
text="2"
text="3"
...
我这是一个比较复杂的任务中遇到的一个问题,我自己在这一块的处理方法是匹配到每个“”,然后保存到一个新的数组比如@tmp中,然后遍历数组,让@tmp的值等于@arr,但是一直有问题,所以想请教下您这个有什么比较好的方法吗?
回复 7# 很宅的男
$ cat FILE
text=""
text=""
text=""
$ perl -pe '
BEGIN{
@arr=(1,2,3)
}
{
if(m/""/){
$new=shift @arr;
s/""/"$new"/}
}' FILE
text="1"
text="2"
text="3"
回复 8# jason680
哇,太好了!多谢您提供的方法,我用shift解决了问题,看来还有好多东西要学习,真的非常感谢您 回复 8# jason680
您好,再请教你一个问题,shift一次只能从头部取出一个元素,如果一次取两个应该怎么弄呢?
页:
[1]