Filter löschen
Filter löschen

How can I withdraw a colon operator from a string

6 Ansichten (letzte 30 Tage)
Juan Rosado
Juan Rosado am 16 Aug. 2012
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?

Antworten (3)

Azzi Abdelmalek
Azzi Abdelmalek am 17 Aug. 2012
Bearbeitet: Azzi Abdelmalek am 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 am 17 Aug. 2012
Bearbeitet: Matt Kindig am 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 am 17 Aug. 2012
Bearbeitet: Matt Fig am 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})

Kategorien

Mehr zu Numeric Types finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by