give labels according to string
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Elysi Cochin
am 20 Nov. 2019
Kommentiert: Star Strider
am 20 Nov. 2019
I have a cell array of strings with the following pattern
String Label
'Abc\a1\L\XYZ1R08' 1
'Abc\a1\R\XYZ1R09' 1
'Abc\a1\R\XYZ1R10' 1
'Abc\b2\L\XYZ2L01' 2
'Abc\b2\R\XYZ2L02' 2
'Abc\b2\R\XYZ2L03' 2
'Abc\c3\L\XYZ2L04' 3
'Abc\c3\R\XYZ2L05' 3
'Abc\d4\L\XYZ2L06' 4
'Abc\d4\R\XYZ2L07' 4
i wanted to give a new variable, "Label', values according to a1,b2,c3,d4, etc
3 Kommentare
Akzeptierte Antwort
Star Strider
am 20 Nov. 2019
Try this:
String = {'Abc\a1\L\XYZ1R08'
'Abc\a1\R\XYZ1R09'
'Abc\a1\R\XYZ1R10'
'Abc\b2\L\XYZ2L01'
'Abc\b2\R\XYZ2L02'
'Abc\b2\R\XYZ2L03'
'Abc\c3\L\XYZ2L04'
'Abc\c3\R\XYZ2L05'
'Abc\d4\L\XYZ2L06'
'Abc\d4\R\XYZ2L07'};
grpstr = regexp(String, '(?<=\\)\w{2}', 'once','match'); % Get Two Letters After First ‘\’
Group = findgroups(grpstr);
Result = {String, Group} % Cell Array
T1 = table(string(String), Group) % Table
producing:
T1 =
10×2 table
Var1 Group
__________________ _____
"Abc\a1\L\XYZ1R08" 1
"Abc\a1\R\XYZ1R09" 1
"Abc\a1\R\XYZ1R10" 1
"Abc\b2\L\XYZ2L01" 2
"Abc\b2\R\XYZ2L02" 2
"Abc\b2\R\XYZ2L03" 2
"Abc\c3\L\XYZ2L04" 3
"Abc\c3\R\XYZ2L05" 3
"Abc\d4\L\XYZ2L06" 4
"Abc\d4\R\XYZ2L07" 4
5 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Type Conversion 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!