我正在从SQL服务器向HTML中的标记插入动态html字符串。
当HTML字符串包含'<'角色,它在前面的UI中效果不佳。
我为你的参考创作了小提琴 http://jsfiddle.net/Loxr10nn/
我想从HTML字符串中替换'<'
个字符。如果找到完全匹配的字符< ANY WORD without space
,则按原样使用。
如果字符&#34; STEP ONE DIET <THAN 200 MG CHOL/DAY INCREASE EXERCISE
&#34;那么解析会有问题。
否则"< THAN"
那么它会正常工作。
当将该字符串插入MS SQL服务器时,我想用<THAN
替换< THAN
如果发现任何这种类型的单词,那么它应该被替换..我想在SQL服务器程序中这样做..
答案 0 :(得分:1)
因此,根据您要执行此操作的位置,无论是在C#中还是在SQL服务器本身上,通常在应用程序中执行此操作,然后将其存储在已经格式化的SQL服务器中是最好的)您可以这样做:
C#:
string original = "STEP ONE DIET <THAN 200 MG CHOL/DAY INCREASE EXERCISE";
string replaced = original.Replace(@"<", "< ");
然后将替换的字符串插入数据库而不是原始字符串
SQL Server:
您可以在将字符串写入数据库时或每次检索字符串时执行此操作:
REPLACE('STEP ONE DIET <THAN 200 MG CHOL/DAY INCREASE EXERCISE','<','< ')
答案 1 :(得分:0)
我找到了解决方案..我也非常感谢@Steoleary代码,
DECLARE @Notes varchar(max)
SET @Notes = 'STEP ONE DIET <THAN 200 MG CHOL/DAY INCREASE EXERCISE, Test < Single space before and after presever spacing'
SELECT @Notes AS BEFORE, REPLACE(REPLACE(CAST(@Notes AS VARCHAR(MAX)),'<', '< '), '< ','< ') AS AFTER
--BEFORE
STEP ONE DIET <THAN 200 MG CHOL/DAY INCREASE EXERCISE, Test < Single space before and after presever spacing
--AFTER ( Spacing around '<' is preserved )
STEP ONE DIET < THAN 200 MG CHOL/DAY INCREASE EXERCISE, Test < Single space before and after presever spacing