温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

c#字符串插入html标签的原因

发布时间:2021-07-15 14:56:59 来源:亿速云 阅读:289 作者:chen 栏目:编程语言

这篇文章主要介绍“c#字符串插入html标签的原因”,在日常操作中,相信很多人在c#字符串插入html标签的原因问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”c#字符串插入html标签的原因”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

C#字符串插入html标签

在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式。

要使用正则表达式,首先需要引用命名空间:

using System.Text.RegularExpressions;


然后,非常简单,使用:

Regex.Replace(字符串,要替换的子串,替换子串的字符,RegexOptions.IgnoreCase)

就可以达到目的了,其中***的参数RegexOptions.IgnoreCase即为指明忽略大小写

但是,我现在要为一组字符串中的所有匹配的子字符串加上高亮显示(就是让它的字体样式和字符串其它的部分不一样),用下面的语句在C#字符串插入html标签,确实可以实现高亮,但高亮显示的就成了搜索子串的搜索字符串了,大小写与原文有差异。

打个比方:我在"第十三种Asp.net实现"中搜索的keyString为"asp",替换后的字符串就成了"第十三种 asp.net实现",而不是希望的"第十三种 Asp.net实现"

  1. DocumentResume[i]=Regex.Replace(hitDoc.Get("resume"),keyString,"
    "+keyString+"",RegexOptions.IgnoreCase); 

所以,直接用正则表达式的Replace也不能达到我的需要,而要用到正则表达式的Match搜索方法(Match搜索单条,Matchs多条),然后在匹配的子串前后插入html标签,具体看下面的代码:

  1. string pain=hitDoc.Get("resume");//字符串  

  2. System.Text.RegularExpressions.MatchCollection mRegex.
    Matches(pain,keyString,RegexOptions.IgnoreCase);  

  3. //忽略大小写搜索字符串中的关键字  

  4. for(int j=0;j{  

  5. //j×31为插入html标签使pain字符串增加的长度,注意下面两句不能交换位置,否则将出现HTML标签插入错误。  

  6. painpain=pain.Insert((m[j].Index+keyString.Length+j*31),"");//关键字后插入html标签  

  7. painpain=pain.Insert((m[j].Index+j*31),"");//关键字前插入html标签  

当然,html标签也不是胡乱插好了就管用的。还要在要显示这个插完后的字符串的页面代码的head区加入下面的自定义样式

<STYLE type=text/css>    Highlight {   color: #00FFFF;   font-style: italic;    font-size: larger;    }</STYLE>

nutian:但正则表达式方式忽略大小写替换应该效率不是***,但也不是***,一般应用应该可以。以上介绍C#字符串插入html标签。

到此,关于“c#字符串插入html标签的原因”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI