Function Counter of digits

I am new to Matlab and I want to make a function called digit_counter that takes the name of a text file as input and returns the number of digits (i.e., any of the characters, 0-to-9) that the file contains. Any help?

 Accepted Answer

Stephen23
Stephen23 on 20 May 2016
Edited: Stephen23 on 21 May 2016
Assuming only text files, then here is one line to solve your task:
nnz(isstrprop(fileread(...),'digit'))
just replace ... with the filename. If you really want it as a function:
digit_counter = @(name)nnz(isstrprop(fileread(name),'digit'));
and call it like this:
digit_counter('test.txt');

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 20 May 2016
Edited: Azzi Abdelmalek on 20 May 2016
name='w1o4rd12'
out=numel(regexp(name,'\d+'))
%or
name='w1o4rd12'
a=name-'0'
idx=a>=0 & a<=9
out=nnz(idx)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Asked:

on 20 May 2016

Edited:

on 21 May 2016

Community Treasure Hunt

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

Start Hunting!