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?

 採用された回答

Stephen23
Stephen23 2016 年 5 月 20 日
編集済み: Stephen23 2016 年 5 月 21 日

0 投票

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

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 5 月 20 日
編集済み: Azzi Abdelmalek 2016 年 5 月 20 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeEnvironment and Settings についてさらに検索

質問済み:

2016 年 5 月 20 日

編集済み:

2016 年 5 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by