Error using textscan. Delimiter must be a string.

The code works for 2013a, however when I run on 2012a the following is reported:
Error using textscan
Delimiter must be a string.
Working 2013a code:
delimiter = {' : ',' (D',' (K'};
dataArray = textscan(fileID, formatSpec, endRow(1)-startRow(1)+1, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'EmptyValue' ,NaN,'HeaderLines', startRow(1)-1, 'ReturnOnError', false);
I am struggling to translate the delimiter. Note, the defined delimiter is for 3 cases:
Case1 space:space
Case2 space(D
Case3 space(K
Thanks! Appreciate your time.

 채택된 답변

Walter Roberson
Walter Roberson 2014년 1월 21일

1 개 추천

R2012a did not support a cell array of delimiter strings for textscan.
You might need to break the lines apart some other way, such as by using regexp()

댓글 수: 2

Walter,
Thanks. I figured that was the answer, but wanted to verify I was not missing something. Thanks again.
Why doesn't the documentation mention that? When you look up textscan it says:
Field delimiter characters, specified as the comma-separated
pair consisting of 'Delimiter' and a string or
a cell array of strings.
Specify multiple delimiters in a cell array
of strings.
Example: 'delimiter',{';','*'}
With no quailifers on version.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

질문:

2014년 1월 21일

댓글:

2014년 6월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by