- 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?
조회 수: 12 (최근 30일)
이전 댓글 표시
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
채택된 답변
Walter Roberson
2020년 12월 10일
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.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!