Error using textscan. Delimiter must be a string.

4 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Walter Roberson
Walter Roberson il 21 Gen 2014
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 Commenti
luckyRadar
luckyRadar il 21 Gen 2014
Walter,
Thanks. I figured that was the answer, but wanted to verify I was not missing something. Thanks again.
Gregory
Gregory il 2 Giu 2014
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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by