Numbering of repeating string in text file

Hi,
I have a repeating string as following:
materialIndex [
25, 36, 26, 21,-1,
21, 21, 21, 21,-1,
47, 36, 39,-1,
etc.
materialIndex [
47, 36, 37, 47,-1,
56, 54, 47, 47,-1,
47, 35, 36, 47,-1,
etc.
I would like to number these strings as following or similar:
materialIndex1 [
25, 36, 26, 21,-1,
21, 21, 21, 21,-1,
47, 36, 39,-1,
etc.
materialIndex2 [
47, 36, 37, 47,-1,
56, 54, 47, 47,-1,
47, 35, 36, 47,-1,
etc.
I couldn't find a solution so far to this problem.

4 件のコメント

Ameer Hamza
Ameer Hamza 2020 年 5 月 16 日
Is this inside a txt file, or the string are loaded in MATLAB?
Daniel Rohrer
Daniel Rohrer 2020 年 5 月 17 日
It's from a text file, and I've loaded the string into MATLAB. Both ways are possible
KSSV
KSSV 2020 年 5 月 17 日
How did you load it into MATLAB?
Daniel Rohrer
Daniel Rohrer 2020 年 5 月 17 日
編集済み: Daniel Rohrer 2020 年 5 月 17 日
I used following code:
% Convert wrl to txt (ASCII)
files=dir('*.wrl');
for i=1:length(files)
filename=files(i).name;
[pathstr, name, ext] = fileparts(filename);
copyfile(filename, fullfile(pathstr, [name '.txt']))
end
% Open specific file, erase and replace syntax
fid = fopen(filename,'r');
f=fread(fid,'*char')';
fclose(fid);

サインインしてコメントする。

 採用された回答

Ameer Hamza
Ameer Hamza 2020 年 5 月 17 日
編集済み: Ameer Hamza 2020 年 5 月 17 日

0 投票

There can be several ways to do this. The following shows a method using a regular expression.
First, define a helper function and save it in a file.
function y = helperFun()
persistent n
if isempty(n)
n = 1;
end
y = num2str(n);
n = n+1;
end
then use the following code
str = fileread('test.txt'); % test.txt is name of text file
clear helperFun
new_str = regexprep(str, '(materialIndex)', '$1${helperFun()}')

2 件のコメント

Daniel Rohrer
Daniel Rohrer 2020 年 5 月 17 日
Thank you, works as intended!
Ameer Hamza
Ameer Hamza 2020 年 5 月 17 日
I am glad to be of help!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

製品

リリース

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by