gpt4 book ai didi

mysql - 在由换行符分隔的文本中查找文本

转载 作者:行者123 更新时间:2023-11-29 15:42:10 24 4
gpt4 key购买 nike

我正在尝试使用 MySQL 在文本中查找文本。我有一个有点非结构化的值字段,但幸运的是数据条目是由新行分隔的。我正在尝试查看是否可以提取“Education”的值,该值基本上是一个在“Education:”之后开始并以下面数据中的\n 新行字符结尾的子字符串:

'Children:  5
Education: College
Employment: Homemaker
Marital Status: Married'

我研究过 MID 函数,但由于教育的值(value)不同,长度不标准。我搜索了 MySQL 字符串函数,但没有找到一种解决方案允许我在两个位置之间进行搜索,包括由正则表达式字符定义的位置 - REGEX 仅提供匹配项,而不是位置。

SELECT id,MID(value,POSITION('Education:' IN value),30) 
FROM client_data

代码按预期执行,但由于固定长度而不是\n 换行符的位置,结果要么被截断,要么包含后续文本中的额外字符。

我猜有一种方法可以做到这一点,但我只是没有找到。

最佳答案

您可以使用 REGEXP_SUBSTR 来获取与正则表达式匹配的实际字符串:

REGEXP_SUBSTR(value, '^Education:.*', 1, 1, 'm')

这将为您提供教育热线。然后您只需从该字符串中提取 : 之后的部分即可:

REGEXP_REPLACE(
REGEXP_SUBSTR(value, '^Education:.*', 1, 1, 'm'),
'^Education:', '')

关于mysql - 在由换行符分隔的文本中查找文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57503033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com