How to count how many numbers there are in a string?

1 view (last 30 days)
Hi,
Basically I have in a script:
I need Matlab to say '3' in this example.
Any ideas?
  2 Comments
Guillaume
Guillaume on 11 Jan 2015
What is the definition of 'a number'? Are 123.456, 1e7, 4*i numbers? Or is it just integers?
Stephen23
Stephen23 on 12 Jan 2015
Edited: Stephen23 on 12 Jan 2015
Here are some different ways of writing numbers: do we need to detect them all?:
  • 3
  • 3.14159
  • +3
  • 1.23E-16
  • 0XF3C
  • 001110101
  • Inf
  • two
  • 4/3
  • 75%

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 11 Jan 2015
This works:
n = length(strsplit(st(~isletter(st))))-1;

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 11 Jan 2015
str='a b c 45 3 2'
out=numel(regexp(str,'\d+','match'))
  3 Comments
steve
steve on 20 Jan 2015
thanks for the answer. how can I explain what it means? I've never seen any of those functions and only numel and redexp come up in the help
Ced
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

Sign in to comment.

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!