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

3 visualizaciones (últimos 30 días)
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?

Respuestas (2)

Star Strider
Star Strider el 15 de Ag. de 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 el 15 de Ag. de 2016
str='abc-def-keh-ABC'
a=regexp(str,'[a-z]+','match')
out1=numel(a)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by