摆脱C#字符串中零宽度空间的最简单方法

吉米

我在ac#VSTO项目中使用正则表达式解析电子邮件。有时,正则表达式似乎不起作用(尽管如果我将文本和正则表达式粘贴到regexbuddy中,则该正则表达式正确匹配该文本)。如果我查看gmail中的电子邮件,就会看到

=E2=80=8B

在某些行的开头和结尾(我知道这是UTF8零宽度空间);这似乎是搞砸正则表达式。这似乎只是顺序出现。

摆脱此确切序列的最简单方法是什么?我不能做明显的

MailItem.Body.Replace("=E2=80=8B", "")

因为这些字符不会显示在c#字符串中。

我也试过

byte[] bytes = Encoding.Default.GetBytes(MailItem.TextBody);
string myString = Encoding.UTF8.GetString(bytes);

但是零宽度空格只是显示为?。我想我可以遍历bytes数组并删除组成零宽度空间的字节,但是我不知道字节长什么样(看起来并不像将E2 80 8B转换为十进制然后搜索那样简单) 。

罗伯特·S。

由于C#中的字符串以Unicode(不是UTF-8)存储,因此以下方法可以解决问题:

MailItem.Body.Replace("\u200B", "");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查包含列表中字符串的字符串的最简单方法?

从对象数组创建字符串的最简单方法

替换字符串中偶数位置的所有字符的最简单方法。

使用JS在字符串中找出字符重复的最简单方法是什么?

在Powershell中增加字符串变量中数字的最快/最简单方法是什么?

在JavaScript中混淆和反混淆字符串的最简单方法

在.NET中在换行符上拆分字符串的最简单方法?

在Instaparse中以字符串形式获取错误消息的最简单方法?

在bash字符串中插入新行的最简单方法

在终端中“子跟踪”字符串变量的最简单方法?

在Julia中获取UTF-8子字符串的最简单方法是什么

在Perl6中在相等的部分上分割字符串的最简单方法

过滤字符串中变化的数字的最简单方法是什么?

在字符串中获取年份的最简单方法是什么?

在python中通过字符串查找类的最简单方法

获取随机数的最简单方法,它不在子字符串中?

在C ++中将int转换为字符串的最简单方法

计算字符串中字符出现的简单方法

在Java中重复字符串的简单方法

在链接列表中添加字符串的简单方法

重复字符串的简单方法

反转字符串的简单方法

比较C#中数组的最简单方法

从C#中的查询填充类的最简单方法

从字符串中删除第一个字符的最简单方法是什么?

检查数据帧值中是否出现字符/子字符串的最简单方法是什么?

将网页中的html正确加载到Java中的字符串中的最简单方法

在纯JavaScript中用span标签将单词包装在字符串中的最简单方法?

在Swift中从单个字符串转换为ASCII值的最简单方法是什么?