How to count how many numbers there are in a string?
Ältere Kommentare anzeigen
Hi,
Basically I have in a script:
I need Matlab to say '3' in this example.
Any ideas?
2 Kommentare
Guillaume
am 11 Jan. 2015
What is the definition of 'a number'? Are 123.456, 1e7, 4*i numbers? Or is it just integers?
Akzeptierte Antwort
Weitere Antworten (1)
Azzi Abdelmalek
am 11 Jan. 2015
str='a b c 45 3 2'
out=numel(regexp(str,'\d+','match'))
3 Kommentare
John D'Errico
am 11 Jan. 2015
Bearbeitet: John D'Errico
am 11 Jan. 2015
As long as you don't go overboard.
str='a b c 45 3 2 1e12';
out=numel(regexp(str,'\d+','match'))
out =
5
And does inf (or pi) count as a number? MATLAB thinks they are.
isnumeric(inf)
ans =
1
I know, I know, I suppose pi is not a number either. It just represents a number. But the fact is, 2 just represents a number also.
steve
am 20 Jan. 2015
Ced
am 20 Jan. 2015
That's because these are the only two functions there. You can find a list and description of the different input arguments of e.g. regexp in the documentation: Regexp Documentation
Kategorien
Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!