Fix dynamically named variables

I am working with data from another program that dynamically names table variables. This needs to be corrected to make my script work.
Currently Vartable.Properties.VariableNames=
{'VarA_f01_01/01/2021'} {'VarB_f01_01/01/2021'} {'VarC_f01_01/01/2021'}
I would like this to look like
{'VarA'} {'VarB'} {'VarC'}
Is there a way to do this for multiple variable names without a bunch of if contains statements?
The variable names are in a standardized format but the numbers dates and letters will change. Sometimes certain variables will not be present and only VarA and VarC may be in the table which further complicates things.
Any help is appriciated.

2 Comments

It's hard to tell from these examples what the full range of "before" and "after" variable might be. For the names shown, for example, it would be sufficient to rename each variable with the part of its original name preceding the first underscore. Would that always work?
It should I just dont know how to do it for lots of variables.

Sign in to comment.

 Accepted Answer

Matt J
Matt J on 4 May 2021
Edited: Matt J on 4 May 2021
Vartable.Properties.VariableNames=extractBefore( Vartable.Properties.VariableNames, '_');

More Answers (0)

Categories

Products

Asked:

on 3 May 2021

Commented:

on 4 May 2021

Community Treasure Hunt

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

Start Hunting!