猿问

请教sql server中replace时如果跳过一些标签?

请教sql server中replace时如果跳过一些标签?
比如5515,1,<t>宝贝,想你了哦,最近一直很难过</t>,<t>快乐点,没有忧愁</t>
在replace时跳过t标签中的内容?

declare @v nvarchar(999)='5515,1,<t>宝贝,想你了哦,最近一直很难过</t>,<t>快乐点,没有忧愁</t>';
declare @s int=charindex('<t>',@v);
--declare @r nvarchar(999)=stuff(@v,@s,charindex('</t>',@v)-@s+4,'aaa');
set @v=''''+replace(@v,',',''',''')+''''--用逗号分割传入的参数@v
--set @r=stuff(@r,
print @v
--想得到结果的是:'5515','1','宝贝,想你了哦,最近一直很难过','快乐点,没有忧愁'

慕容森
浏览 690回答 1
1回答

12345678_0001

我用的js写的正则测试的,test.replace(/<[^>]*>/g,""),应该和你的里面是一样的道理。<[^>]*>替换成空就行截图如下供参考
随时随地看视频慕课网APP

相关分类

SQL Server
我要回答