Clear Filters
Clear Filters

how to create empty string arrays and then populate them through arrayName(indexNumber) syntax

105 views (last 30 days)
The following works for numbers:
B=[];
B(1)=10;
but how to make it work for strings such as
C=[''];
C(1)='hello';% does NOT work

Answers (3)

Ronald Whiddon
Ronald Whiddon on 10 May 2019
Declare an empty string array in this manner:
C=string.empty;
C(1)='hello';
C(2) = 'goodbye';

Dishant Arora
Dishant Arora on 20 Feb 2014
c{1} = 'hello';
  2 Comments
Stephen23
Stephen23 on 10 May 2019
Edited: Stephen23 on 10 May 2019
"This is a workaround, but it actually creates a cell array of strings. "
At the time this question was posed (and answered) the string class did not exist (it was only introduced in R2016b). Each element of a character array stores only one character, so (until the string class was introduced) the only way to store multiple characters using a scalar index (as the question poses) is to use a cell array. From that persepctive it is not a "workaround", it is the correct solution for versions of MATLAB before R2016b.

Sign in to comment.


Nigel Nettheim
Nigel Nettheim on 9 Jun 2023
You can initialise an empty string array with:
s = strings(0)
to which the response is:
s =
0×0 empty string array

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!