Condense code in Split string operation

I have a excel file with the name 'xxx_yyy_zzz.xlsx'
Here, I want to extract only the part 'zzz' and for that I am using the following code
name = 'xxx_yyy_zzz.xlsx';
dummy1 = split('xxx_yyy_zzz.xlsx', '.');
dummy2 = split(dummy1{1}, '_');
final = dummy2{end};
My question is -- is it posible to condense these four lines into a single line of code?
Thanks
SD

 Réponse acceptée

s = "xxx_yyy_zzz.xlsx";
regexp(s,'[^_.]+(?=\.)','match','once')
ans = "zzz"

1 commentaire

Sanju Das
Sanju Das le 14 Sep 2022
Modifié(e) : Sanju Das le 14 Sep 2022
It works, thanks for the help

Connectez-vous pour commenter.

Plus de réponses (1)

If you put the filename in a string instead of a char vector you can do it in one line
s = "xxx_yyy_zzz.xlsx"
s = "xxx_yyy_zzz.xlsx"
extractBetween(s, '_', '_')
ans = "yyy"
If it is a char vector it will take two lines
s = 'xxx_yyy_zzz.xlsx'
s = 'xxx_yyy_zzz.xlsx'
s1 = extractBetween(s, '_', '_')
s1 = 1×1 cell array
{'yyy'}
s2 = s1{:}
s2 = 'yyy'

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by