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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 17 Mai 2020
Bearbeitet: Ameer Hamza am 17 Mai 2020

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by