How can I withdraw a colon operator from a string

10 views (last 30 days)
I have a colon operator within a string input (<1x30> char) that I would like to withdraw for later plotting.
The variable input is this:
WIND = NORTHEAST WINDS 8 : 13 KNOTS
I want just the characters
'8 : 13'
and make them operate as a colon operator. I was thinking of using a variation of 'find' command, but I don't know how to tell MATLAB to find colon operators within a text string.
Can you please help?

Answers (3)

Azzi Abdelmalek
Azzi Abdelmalek on 17 Aug 2012
Edited: Azzi Abdelmalek on 17 Aug 2012
c1='WIND = NORTHEAST WINDS 8 : 13 KNOTS'
a=regexp(c1,'[0-9]')
result=c1(min(a):max(a))

Matt Kindig
Matt Kindig on 17 Aug 2012
Edited: Matt Kindig on 17 Aug 2012
Mr. Azzi's technique is more general, and I would use it for your purpose.
However, if you did want to use 'find' to locate specific characters in a text string, you can do it simply as:
a = 'WIND = NORTHEAST WINDS 8 : 13 KNOTS'
location = find(a==':');

Matt Fig
Matt Fig on 17 Aug 2012
Edited: Matt Fig on 17 Aug 2012
Here is another.
str = 'WIND = NORTHEAST WINDS 8 : 13 KNOTS'; % Example string
m = regexp(str,'\d+\s*:\s*\d+','match')
% Now to make it operate as a colon operator in an expression:
N = str2num(m{1})

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!