溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#?Unity怎么使用正則表達(dá)式去除部分富文本

發(fā)布時(shí)間:2023-03-16 14:38:59 來(lái)源:億速云 閱讀:132 作者:iii 欄目:開(kāi)發(fā)技術(shù)

今天小編給大家分享一下C# Unity怎么使用正則表達(dá)式去除部分富文本的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

去除部分富文本標(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)記都去除的,而且是靠找<>的位置來(lái)去除的,那如果我們的字符串里本身就帶<>,那么括號(hào)里的文字也會(huì)被去除掉&hellip;&hellip;

后來(lái)主程叫我去研究一下正則表達(dá)式,一行代碼就解決了。

代碼

private string RemoveRichTextSize(string sourceText)
{
	sourceText = Regex.Replace(sourceText, @"(<size=(\d+)>|</size>)", "");

	return sourceText;
}

其實(shí)很簡(jiǎn)單,就使用Regex.Replace()函數(shù)就行了,最主要的是要了解正則表達(dá)式的使用。

Regex.Replace(原本的文本, 匹配規(guī)則, 替換的內(nèi)容);

Regex.Replace函數(shù)需要輸入三個(gè)參數(shù),接下來(lái)簡(jiǎn)單說(shuō)明
因?yàn)槲倚枰颜齽t的內(nèi)容剔除,所以替換的內(nèi)容就是"",這樣就做到把內(nèi)容去掉了
匹配規(guī)則里 @"(A|B)" 代表了匹配A或B
</size>就是富文本的尾部
而富文本的頭部<size=(\d+)>就是難點(diǎn)了
\d代表了匹配一個(gè)數(shù)字字符[0-9],(\d+)代表了匹配一個(gè)以上的數(shù)字

通過(guò)修改匹配規(guī)則,你也可以做到只去除富文本的顏色屬性或者斜體屬性等等。

以上就是“C# Unity怎么使用正則表達(dá)式去除部分富文本”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI