Using cases with strings

1 view (last 30 days)
JP
JP on 19 Jun 2013
Hi, Im trying to make the following code work and it just wont seem to do what I want
Astr = '123456789'
switch Astr
case strcmp(Astr([2:4,5:7]), '234567' )
x = 5
case strcmp(Astr([2:4,5:7]), '123567' )
x = 6
case strcmp(Astr([2:4,5:7]), '345567' )
x = 7
otherwise
x = 8
end
I think it has to do with the way Im defining the string values, it keeps outputting x = 8 (the otherwise case). Please let me know how to fix thanks!

Accepted Answer

Iain
Iain on 19 Jun 2013
What you put after the case needs to be every valid option to enter that case, and NOT an operation.
switch Astr([2:4,5:7])
case {'234567', '765432'}
x = 5;
case '123567'
x = 6;
case '234567'
x = 7;
otherwise
x=8;
end
  1 Comment
JP
JP on 19 Jun 2013
What if my Astr is constantly changing length, so I want to check a different interval?
Say for case 1, I want to check the interval 2:4,5:7, but then in case 2 I want to check the interval 3:5,6:8?

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!