Extracting value from Name-Value pairs using the Name string

12 ビュー (過去 30 日間)
Anirudha Vijay Mahagaonkar
Anirudha Vijay Mahagaonkar 2021 年 9 月 14 日
Let's say I have a variable called 'test'. test is a 1x2 struct array with 2 fields - Name and Value.
test =
1×2 struct array with fields:
Name
Value
When I open the variable 'test', this is how it looks. Each of the fields have 2 values (2 pairs of name-value pair)
How can I extract just the value of the name 'long_name' without using positional index?
Using positional index, I can do it using the following code
test(2).Value
But I want to use the name string 'long_name' to find the corresponding value, as the 'long_name' may not always be at the 2nd position in other variables like test.
Any leads on how I could do that?
Thanks!

採用された回答

Cris LaPierre
Cris LaPierre 2021 年 9 月 14 日
ind = strcmp({test.Name},'long_name');
test(ind).Value
  1 件のコメント
Anirudha Vijay Mahagaonkar
Anirudha Vijay Mahagaonkar 2021 年 9 月 14 日
Perfect! Just what I was looking for. Thanks, Cris.

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

その他の回答 (1 件)

Steven Lord
Steven Lord 2021 年 9 月 14 日
test = struct('units', {'degrees_east', 'degrees_north'}, ...
'long_name', {'longitude', 'latitude'})
test = 1×2 struct array with fields:
units long_name
theNames = {test.long_name};
findSpecificName = ismember(theNames, 'longitude');
T = test(findSpecificName)
T = struct with fields:
units: 'degrees_east' long_name: 'longitude'
q = test(ismember(theNames, 'latitude')).units
q = 'degrees_north'

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by