Effacer les filtres
Effacer les filtres

How can I withdraw a colon operator from a string

6 vues (au cours des 30 derniers jours)
Juan Rosado
Juan Rosado le 16 Août 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?

Réponses (3)

Azzi Abdelmalek
Azzi Abdelmalek le 17 Août 2012
Modifié(e) : Azzi Abdelmalek le 17 Août 2012
c1='WIND = NORTHEAST WINDS 8 : 13 KNOTS'
a=regexp(c1,'[0-9]')
result=c1(min(a):max(a))

Matt Kindig
Matt Kindig le 17 Août 2012
Modifié(e) : Matt Kindig le 17 Août 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 le 17 Août 2012
Modifié(e) : Matt Fig le 17 Août 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})

Catégories

En savoir plus sur Numeric Types dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by