how can I filter the nth character from categorical?

3 views (last 30 days)
i have a categorical value a, looks like:
a = 888-2018-02160001
Now I want the 10th and 11th character, the '02'.
I already tried a(10:11), but that doesn't work, because the length of a is 1. Also when I try string(a), the length is still 1
How can I filter these characters from a categorical?

Accepted Answer

Birdman
Birdman on 19 Mar 2018
>>a = '888-2018-02160001'
a(10:11)
ans =
'02'
  3 Comments
Birdman
Birdman on 19 Mar 2018
Edited: Birdman on 19 Mar 2018
What does your variable look like? If it is in string form, then simply convert them to char by typing
char(a)
and then extract 10th and 11th characters at all rows as
a(:,10:11)

Sign in to comment.

More Answers (1)

Peter Perkins
Peter Perkins on 23 Mar 2018
If you have a categorical variable, as in the categorical data type, then it sounds like you want to work with the category names. Converting the entire (large) categorical array will be very inefficient in terms of memory. probably the easiest thing to do is to make a copy, modify the copy's category names using renamecats, and you're done.
Not enough information to go to know if that's what you want.

Categories

Find more on Categorical Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!