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

조회 수: 1 (최근 30일)
phlie
phlie 2016년 8월 15일
답변: Star Strider 2016년 8월 15일
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?

답변 (2개)

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

Azzi Abdelmalek
Azzi Abdelmalek 2016년 8월 15일
str='abc-def-keh-ABC'
a=regexp(str,'[a-z]+','match')
out1=numel(a)

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by