技术求救:怎么写t-sql regex来parse space delimited string

annettezhang
楼主 (北美华人网)
书到用时方很少,请问大牛jm们,如果有一个column是长这样的, "From: [email protected] To: [email protected] Hello team xxxxxxxx" 怎么写这个t-sql 来取出[email protected][email protected] email的长度不是fix的
谢谢!
aiyamayayongle
这取决于格式是不是永远是你写的那样。
annettezhang
这取决于格式是不是永远是你写的那样。
aiyamayayongle 发表于 2020-12-21 09:32

table column里有很多不同内容, 但是我只看string begins with "From:"
annettezhang
回复 2楼aiyamayayongle的帖子
table column里有很多不同内容, 但是我只看string begins with "From:"
wannaquit
用charindex找出“to“和“hello”在这个string里的位置,length这个string的总长度,然后把这两个email提取出来。
annettezhang
回复 5楼wannaquit的帖子
hello刚好只是这个例子, 刚好有email是hello开头。
最主要要解决的问题就是 space delimited text,怎么parse
wannaquit
那麻烦一点就是找到to的位置把第一个email取出来,和后半部substring出来;再根据后半部分space的位置把第二个email substring出来。
EypcRyzen
LIKE + CHARINDEX + SUBSTRING?
betatest
书到用时方很少,请问大牛jm们,如果有一个column是长这样的, "From: [email protected] To: [email protected] Hello team xxxxxxxx" 怎么写这个t-sql 来取出[email protected][email protected] email的长度不是fix的
谢谢!
annettezhang 发表于 2020-12-21 09:30

什么是t-sql?
aiyamayayongle
回复 3楼annettezhang的帖子
From 和 To 这两个关键词是不是一定存在?
monkeybaby2016
用空格把这一串分成几个,取第二个,取最后一个
飘飘
没有写过t-sql,跟sql差不多吧?如果格式固定,比如冒号都有,邮件后面总有一个space,可以取第一个第二个冒号位置,第一个第二个空格位置,第一个冒号第一个空格中间是发件人,第二个冒号和第二个空格中间是收件人