您好,登錄后才能下訂單哦!
這篇文章主要介紹“c#字符串插入html標(biāo)簽的原因”,在日常操作中,相信很多人在c#字符串插入html標(biāo)簽的原因問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”c#字符串插入html標(biāo)簽的原因”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
C#字符串插入html標(biāo)簽
在C#里要進(jìn)行忽略大小寫(xiě)的字符串替換,用string的Replace是很難做到的,即使花了天大的力氣做到了,效率仍然是很低的,正確的方法應(yīng)該是使用正則表達(dá)式。
要使用正則表達(dá)式,首先需要引用命名空間:
using System.Text.RegularExpressions;
然后,非常簡(jiǎn)單,使用:
Regex.Replace(字符串,要替換的子串,替換子串的字符,RegexOptions.IgnoreCase)
就可以達(dá)到目的了,其中***的參數(shù)RegexOptions.IgnoreCase即為指明忽略大小寫(xiě)
但是,我現(xiàn)在要為一組字符串中的所有匹配的子字符串加上高亮顯示(就是讓它的字體樣式和字符串其它的部分不一樣),用下面的語(yǔ)句在C#字符串插入html標(biāo)簽,確實(shí)可以實(shí)現(xiàn)高亮,但高亮顯示的就成了搜索子串的搜索字符串了,大小寫(xiě)與原文有差異。
打個(gè)比方:我在"第十三種Asp.net實(shí)現(xiàn)"中搜索的keyString為"asp",替換后的字符串就成了"第十三種 asp.net實(shí)現(xiàn)",而不是希望的"第十三種 Asp.net實(shí)現(xiàn)"
DocumentResume[i]=Regex.Replace(hitDoc.Get("resume"),keyString,"
"+keyString+"",RegexOptions.IgnoreCase);
所以,直接用正則表達(dá)式的Replace也不能達(dá)到我的需要,而要用到正則表達(dá)式的Match搜索方法(Match搜索單條,Matchs多條),然后在匹配的子串前后插入html標(biāo)簽,具體看下面的代碼:
string pain=hitDoc.Get("resume");//字符串
System.Text.RegularExpressions.MatchCollection m= Regex.
Matches(pain,keyString,RegexOptions.IgnoreCase);//忽略大小寫(xiě)搜索字符串中的關(guān)鍵字
for(int j=0;j{
//j×31為插入html標(biāo)簽使pain字符串增加的長(zhǎng)度,注意下面兩句不能交換位置,否則將出現(xiàn)HTML標(biāo)簽插入錯(cuò)誤。
painpain=pain.Insert((m[j].Index+keyString.Length+j*31),"");//關(guān)鍵字后插入html標(biāo)簽
painpain=pain.Insert((m[j].Index+j*31),"");//關(guān)鍵字前插入html標(biāo)簽
}
當(dāng)然,html標(biāo)簽也不是胡亂插好了就管用的。還要在要顯示這個(gè)插完后的字符串的頁(yè)面代碼的head區(qū)加入下面的自定義樣式
<STYLE type=text/css> Highlight { color: #00FFFF; font-style: italic; font-size: larger; }</STYLE>
nutian:但正則表達(dá)式方式忽略大小寫(xiě)替換應(yīng)該效率不是***,但也不是***,一般應(yīng)用應(yīng)該可以。以上介紹C#字符串插入html標(biāo)簽。
到此,關(guān)于“c#字符串插入html標(biāo)簽的原因”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。