Help finding cell array indices for unique characters in string names
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Brantosaurus
am 20 Okt. 2023
Kommentiert: Brantosaurus
am 20 Okt. 2023
How might i search a cell array for indices corresponding to character strings containing, say, 'H2O' as part of the full name. Tried:
exact_match_mask = strcmp(names, 'H2O'); exact_match_locations = find(exact_match_mask);
but it only identifies index 4. I need to identify the abcH2Oxyz possibility to capture indices 4 and 10.
names = cell(1, 10);
names{1} = '*H';
names{2} = 'HO2';
names{3} = '*H2';
names{4} = 'H2O';
names{5} = 'H2O2';
names{6} = '*O';
names{7} = '*OH';
names{8} = '*O2';
names{9} = 'O3';
names{10} = 'H2O(S)';
4 Kommentare
Voss
am 20 Okt. 2023
A more direct way of creating the cell array names is:
names = {'*H','HO2','*H2','H2O','H2O2','*O','*OH','*O2','O3','H2O(S)'};
Akzeptierte Antwort
Sulaymon Eshkabilov
am 20 Okt. 2023
All combined into one:
names = cell(1, 10);
names{1} = '*H';
names{2} = 'HO2';
names{3} = '*H2';
names{4} = 'H2O';
names{5} = 'H2O2';
names{6} = '*O';
names{7} = '*OH';
names{8} = '*O2';
names{9} = 'O3';
names{10} = 'H2O(S)';
[TF, IDX] = find(contains(names,"H2O"))
Weitere Antworten (1)
the cyclist
am 20 Okt. 2023
names = cell(1, 10);
names{1} = '*H';
names{2} = 'HO2';
names{3} = '*H2';
names{4} = 'H2O';
names{5} = 'H2O2';
names{6} = '*O';
names{7} = '*OH';
names{8} = '*O2';
names{9} = 'O3';
names{10} = 'H2O(S)';
contains(names,'H2O')
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!