在行结束前将一些文本插入多行,每行32个字符

时间:2013-10-10 18:29:26

标签: php regex notepad++

所以我需要在22245行文件的每一行添加'0',所有的值都不同,所以查找和替换不起作用,我想知道是否有正则表达式或者我可以使用的东西记事本++从每行末尾插入了32个字符?

或者可能是一个不同的程序或方式?我知道一个PHP脚本允许我从开头或结尾插入可变数量的空格,但这似乎是不必要的努力。

2 个答案:

答案 0 :(得分:1)

使用notepad ++,您可以使用捕获组(( ... )),行结束锚($)定量词{32}表示32个字符,通配符{{1}并在替换框中替换反向引用,如下所示:

查找

.

替换为:

(.{32})$

或使用积极的前瞻,找到:

0$1

替换为:

(?=.{32}$)

确保您已选中正则表达式搜索框。

答案 1 :(得分:1)

如果要在特定行插入单词/行,可以使用以下解决方案。它将整个文件内容读入一个数组,并使用array_splice()将新单词插入其中:

// read the file into an array
$lines = file('file.txt');

// set the word and position to be inserted
$wordToBeInserted = 'foo';
$pos = 32; 

// add the word into the array and write it back
array_splice($lines, $pos-1, 0, array("$wordToBeInserted\n"));

// write it back 
file_put_contents('file.txt', implode('', $lines));