使用正则表达式删除 unicode 十六进制值

本文关键字:十六进制 unicode 删除 正则表达式 | 更新日期: 2023-09-27 17:57:11

我需要从一串产品描述中删除几个不同的十六进制值。

示例:"Sale on CoolItem™ Watch"或"Deal buster on RMKHoody™ signed"

™  ™

只是这个大型数据库中的几个十六进制字符串。

我需要一个 reg exp 来用空字符串替换每个。

结果:"Sale on CoolItem Watch"或"Deal buster on RMKHoody signed"

找到分列并选择转发到 & 并替换整个选择的 reg exp 是什么?

更新/解决方案工作代码

string s = "Sale on CoolItem™ Watch"
var cleanProductName = Regex.Replace(s, @"&#x?[^;]{2,4};", string.Empty);
cleanProductName = "Sale on CoolItem Watch"

string s = "Deal buster on RMKHoody™ signed"
var cleanProductName = Regex.Replace(s, @"&#x?[^;]{2,4};", string.Empty);
cleanProductName = "Deal buster on RMKHoody signed"

您也可以使用

var cleanProductName = Regex.Replace(s, @"&[^;]{1,6};", string.Empty);

有关更多规范字符,例如 ® . ™ .°

使用正则表达式删除 unicode 十六进制值

你可以

试试&#x?[^;]{2,4};,意思是:&#后跟零个或一个x后跟2到4个不;的字符,后跟;

''&''#x?''d+'';可以作为一个起点。