Count pattern of a string

1 view (last 30 days)
ely may
ely may on 25 Nov 2015
Edited: Stephen23 on 25 Nov 2015
Problem: I have a string '01234(01)3423(32)' and I want to count the pattern of this string. I consider as pattern '0','1','2','3','4','(01)','3','4','2','3','(32)' --> pattern=11. If I use 'size' or 'length', this function count as pattern '(' '0' '1' ')' that i consider all togheter as one pattern '(01)'. Can you give me some suggestions to solve the problem?

Accepted Answer

Stephen23
Stephen23 on 25 Nov 2015
Edited: Stephen23 on 25 Nov 2015
Count the substrings:
>> S = '01234(01)3423(32)';
>> numel(regexp(S,'(\(\d+\)|\d)'))
ans = 11
And check that it matches the correct substrings:
>> regexp(S,'(\(\d+\)|\d)','match')
ans =
0
1
2
3
4
(01)
3
4
2
3
(32)
Tip
You should try using my FEX submission that helps you to create regular expressions:

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!