使用 SQLite 从编号列表中的字符串开头删除数字
Remove numbers from beginning of strings in a numbered list with SQLite
我将一个长编号列表导入 table,字符串格式如下:
1. fdhsglahs sdhkgs
2. urgbvdgh ndovh
3. 8yhbnxjghr nvdfo dfhioj
...
9999. vnur neeu nu
我想删除字符串开头的数字、与数字相邻的 "."
以及紧跟在 "."
之后和下一个字符之前的任意数量的空格 (也就是说,在字符串本身的开头之前)。
在 SQLite 中找不到执行此操作的方法。
请注意,有些字符串包含数字作为字符串的一部分,这些数字不会被删除。
对于此要求,您可以使用 string functions,例如 substr()
、instr()
和 ltrim()
:
select ltrim(substr(col, instr(col, '.') + 1))
from tablename
将 col
替换为列的名称。
此代码 returns .
左修剪空格后的字符串部分。
见 demo.
如果要更新 table:
update tablename
set col = ltrim(substr(col, instr(col, '.') + 1));
参见demo。
我将一个长编号列表导入 table,字符串格式如下:
1. fdhsglahs sdhkgs
2. urgbvdgh ndovh
3. 8yhbnxjghr nvdfo dfhioj
...
9999. vnur neeu nu
我想删除字符串开头的数字、与数字相邻的 "."
以及紧跟在 "."
之后和下一个字符之前的任意数量的空格 (也就是说,在字符串本身的开头之前)。
在 SQLite 中找不到执行此操作的方法。
请注意,有些字符串包含数字作为字符串的一部分,这些数字不会被删除。
对于此要求,您可以使用 string functions,例如 substr()
、instr()
和 ltrim()
:
select ltrim(substr(col, instr(col, '.') + 1))
from tablename
将 col
替换为列的名称。
此代码 returns .
左修剪空格后的字符串部分。
见 demo.
如果要更新 table:
update tablename
set col = ltrim(substr(col, instr(col, '.') + 1));
参见demo。