PostgreSQL 截断字符串: 从指定关键字开始删除

在 PostgreSQL 中,你可以使用 substringregexp_replace 函数来从指定的关键字开始截断字符串。

使用 substring 函数截断第一个匹配的关键字后的数据

substring 函数允许你根据正则表达式提取字符串的一部分。

示例:

假设你有一个名为 my_table 的表,其中包含一个名为 my_column 的列。 你想要截断关键字 'keyword' 后面的数据。

SELECT substring(my_column FROM '^(.*?)keyword') AS truncated_data
FROM my_table;

解释:

  • substring(my_column FROM '^(.*?)keyword') : 这段代码从 my_column 中提取匹配正则表达式 '^(.*?)keyword' 的部分。
  • ^(.*?)keyword : 这个正则表达式匹配从字符串开头到关键字 'keyword' 的任何字符。 (.*?) 部分使用非贪婪匹配捕获关键字前的所有字符。
  • AS truncated_data: 这部分将提取的结果重命名为 'truncated_data'。

使用 regexp_replace 函数截断所有匹配的关键字后的数据

regexp_replace 函数允许你根据正则表达式替换字符串的一部分。

示例:

如果你想截断所有匹配到的 'keyword' 之后的数据,可以使用 regexp_replace 函数:

SELECT regexp_replace(my_column, 'keyword.*$', '') AS truncated_data
FROM my_table;

解释:

  • regexp_replace(my_column, 'keyword.*$', '') : 这段代码将 my_column 中匹配正则表达式 'keyword.*$' 的部分替换为空字符串 ('')。
  • keyword.*$ : 这个正则表达式匹配从关键字 'keyword' 到字符串结尾的所有字符。
  • AS truncated_data: 这部分将替换后的结果重命名为 'truncated_data'。

总结:

通过使用 substringregexp_replace 函数,你可以灵活地截断 PostgreSQL 中的字符串。 选择哪种方法取决于你的具体需求,例如是否需要截断所有匹配的关键字或仅截断第一个匹配的关键字。

PostgreSQL 截断字符串: 从指定关键字开始删除 (substring, regexp_replace)

原文地址: https://www.cveoy.top/t/topic/fouB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录