我想在MATLAB中替换文本文件中的字符串。
要读取指定的行,我使用了代码:
fid = fopen(file_name, 'r');
tt = textscan(fid, '%s', 1, 'delimiter', '\n', 'headerlines', i);
ttt = str2num(tt{1}{1});
其中file_name
是我的文件的名称,ttt
是一个单元格数组,其中包含以整数转换的i
字符串。
例如,ttt = 1 2 3 4 5 6 7 8
现在,我想用ttt
更改ttt = 0 0 0 0 0 0 0 0
并在文件的第ttt
行写下新的i
。
有人有想法解决这个问题吗?
答案 0 :(得分:0)
可能的实施是
security:
firewalls:
[...]
secured_area:
pattern: ^/
your_own_factory: ~ #tells symfony to use the AppBundle\Security\YourOwnFactory
这会改变input.txt:
fid = fopen('input.txt', 'r+');
tt = textscan(fid, '%s', 1, 'delimiter', '\n', 'headerlines', 1); % scan the second line
tt = tt{1}{1};
ttt = str2num(tt); %parse all the integers from the string
ttt = ttt*0; %set all integers to zero
fseek(fid, length(tt), 'bof'); %go back to the start of the parsed line
format = repmat('%d ', 1, length(ttt));
format = format(1:end-1); %remove the trailing space
fprintf(fid, format, ttt); %overwrite the text in the file
fclose(fid); %close the file
到
your first line
1 2 3 4 5 6 7 8
5 5 5 5 5 5 5 5
请注意,只能覆盖文件中的现有字符。如果要插入新字符,则有两个重写完整文件,或者至少从要插入新字符的位置重写。