C#?Unity使用正則表達(dá)式去除部分富文本的代碼示例
使用正則表達(dá)式去除富文本
最近在工作的時候,遇到一個需求,要把富文本給去除,說實(shí)話這個功能還是很簡單的,但是我遇到的問題又沒有那么簡單……
去除部分富文本標(biāo)記
我們有一段字符串,有很多的富文本標(biāo)記,如:<size=60></size>、<color=#F0F0F0></size>等等。但是我們并不需要去除所有的富文本標(biāo)記,因?yàn)槲倚枰?strong>保留顏色的富文本標(biāo)記,只去除字體大小的富文本標(biāo)記,而且字符串里富文本的字體大小標(biāo)記還有各種大小,非常令人頭痛。
在網(wǎng)上也能找到各種去除富文本的代碼,但是很多基本都是全部標(biāo)記都去除的,而且是靠找<和>的位置來去除的,那如果我們的字符串里本身就帶<和>,那么括號里的文字也會被去除掉……
后來主程叫我去研究一下正則表達(dá)式,一行代碼就解決了。
代碼
private string RemoveRichTextSize(string sourceText)
{
sourceText = Regex.Replace(sourceText, @"(<size=(\d+)>|</size>)", "");
return sourceText;
}
其實(shí)很簡單,就使用Regex.Replace()函數(shù)就行了,最主要的是要了解正則表達(dá)式的使用。
Regex.Replace(原本的文本, 匹配規(guī)則, 替換的內(nèi)容);
Regex.Replace函數(shù)需要輸入三個參數(shù),接下來簡單說明
因?yàn)槲倚枰颜齽t的內(nèi)容剔除,所以替換的內(nèi)容就是"",這樣就做到把內(nèi)容去掉了
匹配規(guī)則里@"(A|B)"代表了匹配A或B</size>就是富文本的尾部
而富文本的頭部<size=(\d+)>就是難點(diǎn)了\d代表了匹配一個數(shù)字字符[0-9],(\d+)代表了匹配一個以上的數(shù)字
通過修改匹配規(guī)則,你也可以做到只去除富文本的顏色屬性或者斜體屬性等等。
在寫這個功能的時候,參考了這位大佬的文章,里面也有常用的正則匹配規(guī)則,可以參考使用。
總結(jié)
到此這篇關(guān)于C# Unity使用正則表達(dá)式去除部分富文本的文章就介紹到這了,更多相關(guān)C# Unity正則去除部分富文本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#、ASP.NET通用擴(kuò)展工具類之TypeParse
這篇文章主要介紹了C#、ASP.NET通用擴(kuò)展工具類之TypeParse,使用了此類,類型轉(zhuǎn)換方便多了,本文直接給出實(shí)現(xiàn)代碼和使用方法,需要的朋友可以參考下2015-06-06
關(guān)于C#?調(diào)用Dll?傳遞字符串指針參數(shù)的問題
這篇文章主要介紹了C#?調(diào)用Dll傳遞字符串指針參數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01
同時兼容JS和C#的RSA加密解密算法詳解(對web提交的數(shù)據(jù)加密傳輸)
這篇文章主要給大家介紹了關(guān)于同時兼容JS和C#的RSA加密解密算法,通過該算法可以對web提交的數(shù)據(jù)進(jìn)行加密傳輸,文中通過圖文及示例代碼介紹的非常詳細(xì),需要的朋友們可以參考借鑒,下面來一起看看吧。2017-07-07
C# 利用Aspose.Words.dll將 Word 轉(zhuǎn)成PDF
關(guān)于word轉(zhuǎn)成pdf的方法網(wǎng)上有很多。大部分需要借助office 2007及以上版本的組件。安裝配置起來比較麻煩。今天偶然得之“Aspose.Words.dll”可以實(shí)現(xiàn)2013-08-08
C#使用SqlBulkCopy批量復(fù)制數(shù)據(jù)到數(shù)據(jù)表
這篇文章主要介紹了C#使用SqlBulkCopy批量復(fù)制數(shù)據(jù)到數(shù)據(jù)表的方法,較為詳細(xì)的講述了SqlBulkCopy批量復(fù)制數(shù)據(jù)到數(shù)據(jù)表的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2014-10-10

