Function to create duplicate obs based on the value of a string variable

1 Ansicht (letzte 30 Tage)
phlie
phlie am 15 Aug. 2016
Beantwortet: Star Strider am 15 Aug. 2016
In my dataset, I have a variable which takes values like abc-ABC or abc-def-ABC (i.e., one or more lower case codes and one upper case code). I would like to (1) count the number of lower case codes and capture this no. in a new variable (2) multiply the initial observation by this number (e.g., for abc-def-ABC, I would want 2 obs). Can anyone help?

Antworten (2)

Star Strider
Star Strider am 15 Aug. 2016
This works:
str = {'abc-ABC'; 'abc-def-ABC'};
r = regexp(str, '[a-z]{3}-');
Result = cellfun(@numel, r, 'UniformOutput',false);

Azzi Abdelmalek
Azzi Abdelmalek am 15 Aug. 2016
str='abc-def-keh-ABC'
a=regexp(str,'[a-z]+','match')
out1=numel(a)

Kategorien

Mehr zu Characters and Strings 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!

Translated by