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 件のコメント

Rik
Rik 2023 年 5 月 26 日
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"

サインインしてコメントする。

 採用された回答

gonzalo Mier
gonzalo Mier 2019 年 5 月 11 日

0 投票

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').

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeEvent Functions についてさらに検索

製品

リリース

R2018a

タグ

質問済み:

2019 年 5 月 11 日

コメント済み:

Rik
2023 年 5 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by