Dividing a string into sub-strings using a for-loop
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Laura Nielsen
am 13 Jan. 2021
Kommentiert: Cris LaPierre
am 13 Jan. 2021
Hi,
I have a string as shown below:
FilesID='data_190830_102602.mem,data_191030_141002.mem,data_191230_101612.mem'
I want to extract the characters between the commas - each of them is unique, as they are based on timestamps.
I have tried to built a for-loop as seen below, however, it seems not to terminate and a fault occurs;
"Index exceeds the number of array elements"
with respect to this line:
word{j} = FilesID(qnew:qnew+21)
Here is the entire code:
j = 1;
for a=1:length(FilesID)
for q = (j-1):22:length(FilesID)
qnew=q+a;
word{j} = FilesID(qnew:qnew+21)
a=a+1;
j = j+1;
end
end
Thanks
0 Kommentare
Akzeptierte Antwort
Cris LaPierre
am 13 Jan. 2021
Why a for loop? I would use strsplit
FilesID='data_190830_102602.mem,data_191030_141002.mem,data_191230_101612.mem';
prts = strsplit(FilesID,',')
3 Kommentare
Cris LaPierre
am 13 Jan. 2021
If it helps, what you are looking for might be called parsing a string, or string tokenization. See if this example is more along the lines of what you needed.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!