- If the file is nonempty, then fgetl returns tline as a character vector.
- If the file is empty and contains only the end-of-file marker, then fgetl returns tline as a numeric value -1.
How to get split to return a string array?
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Katrina
am 9 Dez. 2020
Kommentiert: Katrina
am 10 Dez. 2020
Hello,
I am trying to read a text file and split each line into space-delineated components. Using split I always get a cell array as output, and then have to use cell2mat to convert each cell to a string. According to matlab documentation, if the input field is a string array, the output will be a string array, but that is not how it is working for me. What am I doing wrong?
str = fgetl(filepointer);
substrings = split(str);
Isn't substrings a string array? If I say ischar(substring), the answer is 1. I have also tried fgets but the result is the same.
It is just clunky to have to call cell2mat before processing every chunk of the string.
thank you.
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 10 Dez. 2020
The low level file operations never return string objects.
then have to use cell2mat to convert each cell to a string
No, that is not necessary.
You can proceed one of two ways:
substrings = string(split(str));
or
substrings = split(string(str));
I personally prefer the first of those two, but I can understand that some people might prefer the second of them.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Characters and Strings 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!