File Exchange

image thumbnail


version 1.0 (3.18 KB) by

Converts a character array (or cell string) array to a cell string array using delimiters and rows.



View License

CHARacter to(2) CELL array conversion.

cellmat = char2cell(s,delim,rowseparate,trim);
cellmat = char2cell(s,delim,rowseparate);
cellmat = char2cell(s,delim);
cellmat = char2cell(s);

If "s" is a character array, then it may be separted into a 1D cell array of strings based upon delimiters (which may be a single element or multiple elements (e.g. CRLF). If "s" is multidimensional then the rows or columns of "s" may be further divided into cell s. If "s" is a cell string array, then the cells may be further divided by specifying delimiters. Consecutive delimters are treated as one.

Delimiters can be specified as a single element or multiple elements. Non-printable or non-visible characters are supported through the typical Matlab designations as:
\b - backspace
\f - formfeed
\n - linefeed
\r - carriage return
\t - tab
\\ - backslash
(a single \ suffices if it is a single or last element)
Use ' ' to specify a white space character.

Default delimiter is white space if "rowseparate" is empty and is empty if "rowseparate" is either "true" or "false".

"rowseparate" - "true" designates that each row should be separated or "false" if each column should be separated. Only relevant if "s" is multidimensional.

"trim" - if "true" (default), leading and trailing spaces are deleted

% Examples:
% char2cell(['red? green33 blue++ '],['?3+']))
% ans = 'red'; 'green'; 'blue'; ''
% c=sprintf(['this is a test\nthis\tis the second line'])
% char2cell(c,{'\n','\t'})
% ans = 'this is a test'
% 'this'
% 'is the second line'

Comments and Ratings (2)

vahid maleki

Birin Yucesan

works great. Thank you

MATLAB Release
MATLAB 7.5 (R2007b)

Inspired by: str2cell: a pedestrian cell creator

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today