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?

 Réponse acceptée

Stephen23
Stephen23 le 20 Mai 2016
Modifié(e) : Stephen23 le 21 Mai 2016

0 votes

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

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 20 Mai 2016
Modifié(e) : Azzi Abdelmalek le 20 Mai 2016

0 votes

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

Catégories

En savoir plus sur Environment and Settings dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by