How to count how many numbers there are in a string?
Show older comments
Hi,
Basically I have in a script:
I need Matlab to say '3' in this example.
Any ideas?
2 Comments
Guillaume
on 11 Jan 2015
What is the definition of 'a number'? Are 123.456, 1e7, 4*i numbers? Or is it just integers?
Accepted Answer
More Answers (1)
Azzi Abdelmalek
on 11 Jan 2015
str='a b c 45 3 2'
out=numel(regexp(str,'\d+','match'))
3 Comments
John D'Errico
on 11 Jan 2015
Edited: John D'Errico
on 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
on 20 Jan 2015
Ced
on 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
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!