如何使用Python sqlite3包查找String中的单词数?

时间:2014-10-12 18:15:07

标签: python sqlite

我需要在python中使用sqlite3包来编写命令来查找字符串中的单词数。我不知道SQL中的任何命令让我用空格解析字符串并计算单词,所以我想知道是否有办法通过sqlite3包来做到这一点。

1 个答案:

答案 0 :(得分:0)

SQLite没有内置函数来计算单词。

如果您拥有最新的Python版本,则可以使用递归公用表表达式; 假设您有一个表MyTable(ID, String),以下SQL查询将计算每个String值中的空格字符数(可以假设为比单词数少一个):

WITH RECURSIVE spaces(id, spaces, rest) AS (
    SELECT ID,
           0,
           String
    FROM MyTable
    UNION ALL
    SELECT id,
           spaces + (substr(rest, 1, 1) = ' '),
           substr(rest, 2)
    FROM spaces
    WHERE rest != ''
)
SELECT id,
       spaces
FROM spaces
WHERE rest = '';

在Python中计算单词可能是个更好的主意。