MATLAB Answers

How to count number of words in a text file?

44 views (last 30 days)
I have a text file with a large number of words, 'filename.txt'.
I have a column of words 'A'.
Example:
A =
HJK.BT
KLP.OK
POL.ST
I want to go through column A and count how many times each of the words in column A appears in the text file. How can I do this? I tried 'textscan' but have had no luck.
Basically, I want to end up with something like:
Column A # of Times Occurred
HJK.BT 3
KLP.OK 4
POL.ST 2

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 10 Aug 2016
A={'HJK.BT'
'KLP.OK'
'HJK.BT'
'POL.ST'
'HJK.BT'
'POL.ST'}
[ii,jj,kk]=unique(A)
freq=accumarray(kk,1)
out=[ii num2cell(freq)]
  6 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 10 Aug 2016
A = {'GS.JYG.BHZ';'GS.TSS.BHZ'}
fid=fopen('fi.txt')
str=textscan(fid,'%s')
fclose(fid)
text=str{:}
for k=1:numel(A)
freq(k)=sum(ismember(text,A{k}))
end

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!