温馨提示×

温馨提示×

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

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

C# Unity怎么使用正则表达式去除部分富文本

发布时间:2023-03-16 14:38:59 来源:亿速云 阅读:139 作者:iii 栏目:开发技术

今天小编给大家分享一下C# Unity怎么使用正则表达式去除部分富文本的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

去除部分富文本标记

我们有一段字符串,有很多的富文本标记,如:<size=60></size><color=#F0F0F0></size>等等。但是我们并不需要去除所有的富文本标记,因为我需要保留颜色的富文本标记,只去除字体大小的富文本标记,而且字符串里富文本的字体大小标记还有各种大小,非常令人头痛。

在网上也能找到各种去除富文本的代码,但是很多基本都是全部标记都去除的,而且是靠找<>的位置来去除的,那如果我们的字符串里本身就带<>,那么括号里的文字也会被去除掉&hellip;&hellip;

后来主程叫我去研究一下正则表达式,一行代码就解决了。

代码

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

	return sourceText;
}

其实很简单,就使用Regex.Replace()函数就行了,最主要的是要了解正则表达式的使用。

Regex.Replace(原本的文本, 匹配规则, 替换的内容);

Regex.Replace函数需要输入三个参数,接下来简单说明
因为我需要把正则的内容剔除,所以替换的内容就是"",这样就做到把内容去掉了
匹配规则里 @"(A|B)" 代表了匹配A或B
</size>就是富文本的尾部
而富文本的头部<size=(\d+)>就是难点了
\d代表了匹配一个数字字符[0-9](\d+)代表了匹配一个以上的数字

通过修改匹配规则,你也可以做到只去除富文本的颜色属性或者斜体属性等等。

以上就是“C# Unity怎么使用正则表达式去除部分富文本”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

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

AI