捕获字符串中的字符串
Capturing a String Within a String
我正在尝试从文本字符串中解析出值。这些值嵌套在字符串中。例如,我得到的平面文件看起来像这样:"John Q Public (12345-01) - Customer referral"。我想解析出账号;例如,12345-01,来自文本字符串。起始位置不是恒定的,帐号的长度也不是恒定的。模式是#####-##。
如有任何帮助,我们将不胜感激。
一些基本的字符串操作将捕获您想要的值。不知道这是否适用于您的实际情况,因为我不知道您的数据 "stable" 或一致性如何。
declare @Something varchar(100) = 'John Q Public (12345-01) - Customer referral'
select substring(@Something
, charindex('(', @Something) + 1 --starting position of the values you want
, charindex(')', @Something) - charindex('(', @Something) - 1 --length of the values you want
)
我正在尝试从文本字符串中解析出值。这些值嵌套在字符串中。例如,我得到的平面文件看起来像这样:"John Q Public (12345-01) - Customer referral"。我想解析出账号;例如,12345-01,来自文本字符串。起始位置不是恒定的,帐号的长度也不是恒定的。模式是#####-##。
如有任何帮助,我们将不胜感激。
一些基本的字符串操作将捕获您想要的值。不知道这是否适用于您的实际情况,因为我不知道您的数据 "stable" 或一致性如何。
declare @Something varchar(100) = 'John Q Public (12345-01) - Customer referral'
select substring(@Something
, charindex('(', @Something) + 1 --starting position of the values you want
, charindex(')', @Something) - charindex('(', @Something) - 1 --length of the values you want
)