我需要在python中使用sqlite3包来编写命令来查找字符串中的单词数。我不知道SQL中的任何命令让我用空格解析字符串并计算单词,所以我想知道是否有办法通过sqlite3包来做到这一点。
答案 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中计算单词可能是个更好的主意。