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

1 visualizzazione (ultimi 30 giorni)
Hi,
Basically I have in a script:
I need Matlab to say '3' in this example.
Any ideas?
  2 Commenti
Guillaume
Guillaume il 11 Gen 2015
What is the definition of 'a number'? Are 123.456, 1e7, 4*i numbers? Or is it just integers?
Stephen23
Stephen23 il 12 Gen 2015
Modificato: Stephen23 il 12 Gen 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%

Accedi per commentare.

Risposta accettata

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

Più risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 11 Gen 2015
str='a b c 45 3 2'
out=numel(regexp(str,'\d+','match'))
  3 Commenti
steve
steve il 20 Gen 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 il 20 Gen 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

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by