- 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?
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Katrina
el 9 de Dic. de 2020
Comentada: Katrina
el 10 de Dic. de 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 comentarios
Respuesta aceptada
Walter Roberson
el 10 de Dic. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!