构建给定文本中最常用单词的ASCII图表.
规则:
a-z和A-Z(字母字符)作为单词的一部分.She== she为了我们的目的).the, and, of, to, a, i, it, in, or, is澄清:考虑don't:这将被视为在范围2不同"单词" a-z和A-Z:(don和t).
可选(现在正式更改规范为时已晚)您可以选择删除所有单字母"单词"(这可能会缩短忽略列表).
解析给定的text(读取通过命令行参数指定的文件或管道输入;假设us-ascii)并构建word frequency chart具有以下特征的a:
width表示单词的出现次数(频率)(按比例).附加一个空格并打印单词.bar+ [space]+ word+ [space]应始终<= 80字符(确保考虑可能不同的条形和字长:例如:第二个最常见的单词可能要长得多)第一个虽然频率差别不大).在这些约束条件下最大化条宽,并适当缩放条(根据它们所代表的频率).一个例子:
这个例子的文本可以在这里找到(爱丽丝梦游仙境,刘易斯卡罗尔).
此特定文本将产生以下图表:
_________________________________________________________________________ |_________________________________________________________________________| she |_______________________________________________________________| …
所以我们这个数据库充满了一堆字符串,在这种情况下是帖子标题.
我想做的是:
我尝试使用适用于data.se的SO问题中的信息如下:
select word, count(*) from (
select (case when instr(substr(p.Title, nums.n+1), ' ') then substr(p.Title, nums.n+1)
else substr(p.Title, nums.n+1, instr(substr(p.Title, nums.n+1), ' ') - 1)
end) as word
from (select ' '||Title as string
from Posts p
)Posts cross join
(select 1 as n union all select 2 union all select 10
) nums
where substr(p.Title, nums.n, 1) = ' ' and substr(p.Title, nums.n, 1) <> ' '
) w …Run Code Online (Sandbox Code Playgroud)