Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Matlab中使用strrep将1行字符串替换为2行字符串_Matlab - Fatal编程技术网

在Matlab中使用strrep将1行字符串替换为2行字符串

在Matlab中使用strrep将1行字符串替换为2行字符串,matlab,Matlab,我有一个文本文件如下 我想换一条高亮度的线,如下所示 fid=fopen('a.bdf'); A=fread(fid,'uint8=>char')'; B=strrep(A,'PSHELL 1 1 15. 1 1',['PSHELL 1 1 20. 1 1']); fid=fopen('a.bdf'); A=fread(fid,'uint8=>c

我有一个文本文件如下

我想换一条高亮度的线,如下所示

fid=fopen('a.bdf');
A=fread(fid,'uint8=>char')';
B=strrep(A,'PSHELL   1       1      15.      1               1',['PSHELL   1       1      20.      1               1']);
fid=fopen('a.bdf');
    A=fread(fid,'uint8=>char')';
    B=strrep(A,'PSHELL   1       1      15.      1               1',['PSHELL   1       1      20.      1               1
PSHELL   2       1      2.      1               1']);

我可以用下面的'strep'函数替换一行

fid=fopen('a.bdf');
A=fread(fid,'uint8=>char')';
B=strrep(A,'PSHELL   1       1      15.      1               1',['PSHELL   1       1      20.      1               1']);
fid=fopen('a.bdf');
    A=fread(fid,'uint8=>char')';
    B=strrep(A,'PSHELL   1       1      15.      1               1',['PSHELL   1       1      20.      1               1
PSHELL   2       1      2.      1               1']);
但是,我不知道如何使用strep将一行字符串替换为两行字符串

我只是复制并粘贴了一份,如下所示

fid=fopen('a.bdf');
A=fread(fid,'uint8=>char')';
B=strrep(A,'PSHELL   1       1      15.      1               1',['PSHELL   1       1      20.      1               1']);
fid=fopen('a.bdf');
    A=fread(fid,'uint8=>char')';
    B=strrep(A,'PSHELL   1       1      15.      1               1',['PSHELL   1       1      20.      1               1
PSHELL   2       1      2.      1               1']);
但是,它不起作用


如何使用“strrep”替换此字符串行

向新的子字符串添加换行符'\r\n'(可能因操作系统而异),如

B=strrep(A,'PSHELL   1       1      15.      1               1',['PSHELL   1       1      20.      1               1\r\nPSHELL   2       1      2.      1               1']);
请记住,当您要写入文件时,必须使用

fid=fopen('a.bdf','r+');
使用这种方法,您必须用B中的新内容覆盖原始文件

编辑:完整代码

fid=fopen('a.bdf','r+');
A=fread(fid,'uint8=>char')';
B=strrep(A,'PSHELL   1       1      15.      1               1','PSHELL   1       1      20.      1               1\r\nPSHELL   2       1      2.      1               1');
frewind(fid);
fprintf(fid,B);
fclose(fid);  

@김갑수 我使用了
frewind(fid);fwrite(fid,B);fclose(fid),这对我来说很有吸引力。我已经添加了代码。我使用了
fprintf
而不是
fwrite
。对不起,我犯了那个错误。