2015-03-18 84 views
3

我想问问为什么这些步骤要创建一个Lua程序来计算.txt文件中的字数?我只熟悉如何计算字符而不是字符串。如何计算Lua中文本文件的字数

+0

准确计算单词是非常棘手的,有很多连字符和短划线的边缘情况等等。一个简单的可能会使用[string.gfind](http://www.lua.org/pil/20.3.html) – ryanpattison 2015-03-18 22:04:40

+1

查看Lua程序设计(在线免费版) - 计算文件中字符,单词和行数的程序:http://www.lua.org/pil/21.2.1.html – Adam 2015-03-18 22:38:04

+0

从那时起,@ rpattiso,'string.gfind'已被重命名为'string.gmatch'。 – lhf 2015-03-19 11:17:31

回答

7

非空格字符序列很好地近似于单词。

在这种情况下,这个简单的代码来计算某个字符串s的话:

_,n = s:gsub("%S+","") 
print(n) 

这工作,因为gsub返回的第二个结果做出了换人的次数。这个计数很少使用,有时甚至是一个小小的烦恼,但在这种情况下,这正是需要的。