Error using textscan. Delimiter must be a string.

5 visualizaciones (últimos 30 días)
luckyRadar
luckyRadar el 21 de En. de 2014
Comentada: Gregory el 2 de Jun. de 2014
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.

Respuesta aceptada

Walter Roberson
Walter Roberson el 21 de En. de 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 comentarios
luckyRadar
luckyRadar el 21 de En. de 2014
Walter,
Thanks. I figured that was the answer, but wanted to verify I was not missing something. Thanks again.
Gregory
Gregory el 2 de Jun. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

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!

Translated by