New string based on parts of old string
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
How do I get new str from this old string? All the strings are in this format. Is there a way to extract based on the position from '(' and after '|'?
OldStr1 = 'Extract clusters: PR (2 files) | DG_MD_CG_22'
OldStr2 = 'Extract clusters: OR (2 files) | AG_MD_HH_CG_HH_22'
NewStr1 = 'DG_MD_CG_22_PR'
NewStr2 = 'AG_MD_HH_CG_HH_22_OR'
0 Kommentare
Akzeptierte Antwort
Voss
am 14 Dez. 2021
OldStr1 = 'Extract clusters: PR (2 files) | DG_MD_CG_22';
OldStr2 = 'Extract clusters: OR (2 files) | AG_MD_HH_CG_HH_22';
NewStr1 = construct_new_str(OldStr1)
NewStr2 = construct_new_str(OldStr2)
function new_str = construct_new_str(str)
idx0 = find(str == ':',1,'last');
idx1 = find(str == '(',1,'last');
idx2 = find(str == '|',1,'last');
new_str = [str(idx2+2:end) '_' str(idx0+2:idx1-2)];
end
Weitere Antworten (1)
Steven Lord
am 14 Dez. 2021
I would use the extract* functions listed in the Join and Split section of the Characters and Strings category page in the documentation.
s = 'hocus pocus'
h = extractBefore(s, ' ')
p = extractAfter(s, ' ')
Siehe auch
Kategorien
Mehr zu Environment and Settings 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!