How to account for a change in variabale name when using "find"?

Hi all,
I have a large excell file in which I am intending to find a specific variables in this way:
idx_lfoot_start = find(strcmp(data_raw(:, 2), '"HX210.11.31.M9-LF S0060"'));
idx_lfoot_end = find(strcmp(data_raw(:, 2), '"HX210.11.31.M9-RF S0060"'));
However, the variables, depending on a file, can be named:
"HX210.11.31.M7-LF S0060"
"HX210.11.31.M7-RF S0060"
I am using this variable as an index to extract data, an example below. If I do not acccount for this variation in the name, nothing is identified. How could I account for this in the code?
% indices between idx_lfoot_start and idx_lfoot_end
idx = arrayfun(@(idxStart, idxEnd) idxStart:idxEnd, idx_lfoot_start, idx_lfoot_end,...
'UniformOutput', false);
% corresponding values for variables of interest
c.l_avgP = cellfun(@(idxx) data_raw(idxx(strcmp(data_raw(idxx, 1), ...
'Average Pressure (PSI)')), 2), idx);

 Risposta accettata

Sounds like a job for regexp. For example:
>> regexp("HX210.11.31.M7-LF S0060","HX210*-LF S0060")
ans =
1
>> regexp("HX210.11.31.M7-LF S0060","HX210*-RF S0060")
ans =
[]

3 Commenti

Thanks @Monica Roberts . Not sure though how can I implement this in my code, for example the below still does not identifies the variable:
idx_lfoot_start = find(strcmp(data_raw(:, 2), regexp ('"HX210.11.31.M9-LF S0060"', '"HX210.*-LF S0060"')));
Without seeing "data_raw" I'm not sure what the code should look like. What does this give you?
regexp(data_raw(:, 2),"HX210.*-LF S0060")
Thanks, this does the trick

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by