在 sqlite 中本地删除特殊字符

Posted

技术标签:

【中文标题】在 sqlite 中本地删除特殊字符【英文标题】:removing special characters natively in sqlite 【发布时间】:2022-01-22 03:44:30 【问题描述】:

我希望在 sqlite3 中本地创建一个字符串,它将收集所有非数字值,但是列格式包含 TEXT 格式的所有数据并用 [""] 包装,例如:

[“1234567”] 要么 [“单词”]

没有数字和字母的混合,但我无法构建一个仅解析 sqlite 本身内的非数字值的字符串。最接近的我需要 sed 和 grep 之后(充其量是任何语言的新手,并且每天都在学习)这将导致“单词”,上面的示例作为值:

sqlite3 data.db "从表 ORDER BY 列中选择 DISTINCT 列" |sed 's/[][]//g'|sed 's/"//g' | grep -v '[0-9] '

单词

【问题讨论】:

【参考方案1】:

由于没有数字和字母的混合,您可以使用运算符GLOB 获取所有具有非数字字符的行:

SELECT *
FROM tablename
WHERE col NOT GLOB '*[0-9]*';

查看简化的demo。

【讨论】:

完美。我试过 % 通配符,完全错过或忽略了 *.这就像一个魅力,谢谢!

以上是关于在 sqlite 中本地删除特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

Android Textview无法显示特殊字符?

字符串本地化缺少一些特殊字符

jQuery从字符串中删除特殊字符等等

如何从字符串中删除特殊字符?

从JS中的字符串中删除所有特殊字符

在 char 数组中删除特殊字符和字符串