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?

 Akzeptierte Antwort

Stephen23
Stephen23 am 20 Mai 2016
Bearbeitet: Stephen23 am 21 Mai 2016

0 Stimmen

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');

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 20 Mai 2016
Bearbeitet: Azzi Abdelmalek am 20 Mai 2016

0 Stimmen

name='w1o4rd12'
out=numel(regexp(name,'\d+'))
%or
name='w1o4rd12'
a=name-'0'
idx=a>=0 & a<=9
out=nnz(idx)

Kategorien

Mehr zu Environment and Settings 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!

Translated by