How to get string field from struct with each element separated

>> x.name
ans =
'1.33'
ans =
'1.34'
ans =
'1.35'
>> y = [x.name]
y =
'1.331.341.35'
I want to get it like that
y = ['1.33' '1.34' '1.35']
as a matrix with three string elements

2 Comments

And if a string vector is a true requirement, the conversion is easy:
x = struct('name',{'1.33','1.34','1.35'}) % reconstruct the data from OP
x = 1×3 struct array with fields:
name
y = {x.name}
y = 1×3 cell array
{'1.33'} {'1.34'} {'1.35'}
z = string(y)
z = 1×3 string array
"1.33" "1.34" "1.35"

Sign in to comment.

 Accepted Answer

The problem is you are using char instead of string. '1.33' is a vector of char, so if you make a vector of vectors, it compiles them in a row. To make them string you can write "1.33" instead of '1.33' or string('1.33').

More Answers (0)

Categories

Products

Release

R2018a

Tags

Asked:

on 11 May 2019

Commented:

Rik
on 26 May 2023

Community Treasure Hunt

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

Start Hunting!