我的文字看起来像这样:
" \ xee \ x80 \ x80nike \ xee \ x80 \ x81:\ xee \ x80 \ x80 \ x46ind \ xee \ x80 \ x81您的\ xee \ x80 \ x80greatness \ xee \ x80 \ x81。 (英国) - youtubeis \ xee \ x80 \ x80nike \ xee \ x80 \ x81有目的地取笑一个男孩试图\ xee \ x80 \ x80 \ x66ind \ xee \ x80 \ x81 ..."
我需要删除\ xee \ x80 \ x81或\ xee \ x80 \ x82等标记
我使用以下正则表达式\\xee\\x[0-9][0-9]\\x[0-9][0-9]
。它不起作用,但如果我使用\\xee\\x80\\x81
它可以工作。我想要一个通用表达式,因为数字可以是任何东西。
有人可以告诉我这是什么问题吗?
答案 0 :(得分:2)
显然问题在于\xee\x80\x80\x46
- 字符\x80
重复两次,然后\x46
,因此它与您的模式不匹配。
您可以尝试使用\\xee(\\x[0-9][0-9])+
模式 - 它会删除所有出现的\xee
后跟一个或多个\x[0-9][0-9]
。
或者你可以使用\\xee(\\x\d{2})+
- 它基本上是相同的,但从我的角度来看看更优雅。这里d
代表“任意数字”,{2}
代表“恰好两次”,而()+
是“群组出现一次或多次”
var result = Regex.Replace(your_text, @"\\xee(\\x\d{2})+", "");
您的样本的结果将是:
耐克:你的伟大。 (英国) - youtubeis nike故意取笑一个男孩试图... ...