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 comentarios

Ameer Hamza
Ameer Hamza el 16 de Mayo de 2020
Is this inside a txt file, or the string are loaded in MATLAB?
Daniel Rohrer
Daniel Rohrer el 17 de Mayo de 2020
It's from a text file, and I've loaded the string into MATLAB. Both ways are possible
KSSV
KSSV el 17 de Mayo de 2020
How did you load it into MATLAB?
Daniel Rohrer
Daniel Rohrer el 17 de Mayo de 2020
Editada: Daniel Rohrer el 17 de Mayo de 2020
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);

Iniciar sesión para comentar.

 Respuesta aceptada

Ameer Hamza
Ameer Hamza el 17 de Mayo de 2020
Editada: Ameer Hamza el 17 de Mayo de 2020
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 comentarios

Daniel Rohrer
Daniel Rohrer el 17 de Mayo de 2020
Thank you, works as intended!
Ameer Hamza
Ameer Hamza el 17 de Mayo de 2020
I am glad to be of help!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Centro de ayuda y File Exchange.

Productos

Versión

R2019a

Preguntada:

el 16 de Mayo de 2020

Comentada:

el 17 de Mayo de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by