How to store string into an array?

324 views (last 30 days)
Minu on 4 Jun 2013
How to save string into array.I have string of characters and want to save in an array.
y(3)='0D10; and so on...How to solve this

Answers (3)

Chandrasekhar on 4 Jun 2013
try this Minu y= {'0D05','0D06','0D10'};
if u want to update the array during run time
y{i} = {str};
Jan on 4 Jun 2013
@Minu: Please care for always posting a complete copy of the message accompanied by the relevant part of the corresponding code. Without seeing the code, we would have to guess suggestions for improvements. Thanks.

Sign in to comment.

Daniel Shub
Daniel Shub on 4 Jun 2013
You cannot access a string with y(1) easily. The problem is that your data is a character array and not a string array. This means that the notation y(1) is asking for a single element of a character array, which is a single character, but you want a string.
Assuming you are starting with some data that looks like
x = char(randi([1, 26]+64, 1, 4*10))
You can rearrange it to have the shape you want by putting 4 characters on a row.
y = reshape(x, [], 4);
You can then get a row with
y(1, :)
If you do not want the trailing colon, you could use a cell array
z = mat2cell(y, ones(10, 1), 4);
You can then get a row with
If neither of these suffice you can use the OOP system to define your own string class and then you can use y(1) to get a single element of a string object which would be a character array.

Azzi Abdelmalek
Azzi Abdelmalek on 4 Jun 2013
Edited: Azzi Abdelmalek on 4 Jun 2013
  1 Comment
Jan on 4 Jun 2013
In the first case, char can be omitted and replaced by square brackets. In the second case char can be omitted without any replacement.

Sign in to comment.


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!