c# – 如何在正则表达式中转义特殊字符?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何在正则表达式中转义特殊字符?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1147字,纯文字阅读大概需要2分钟。
内容图文
![c# – 如何在正则表达式中转义特殊字符?](/upload/InfoBanner/zyjiaocheng/823/546c11279af14400bf131029d786caa2.jpg)
此代码搜索richtextbox并将数组的第一个字段替换为第二个字段.除了两个字段外,一切正常.
iEmo = new string[,] {
{@":\)", Smile},
{@":\(", Sad},
{@"8\)", Cool},
{@":\|", Neutral},
{@";\)", Wink},
{@">:\(", Evil}, // Won't work for this one
{@">:D", Twisted}, // Or this one
{@":\?", Question,}
};
这是将数组转换为我想要的部分:
public void SetSmiley(RichTextBox RichBox) {
for (int i = 0; i < (iEmo.Length / 3); i++) {
try {
RichBox.Rtf = Regex.Replace(RichBox.Rtf, iEmo[i, 0], iEmo[i, 1], RegexOptions.IgnoreCase);
}
catch (Exception e){}
}
}
解决方法:
你的正则表达式看起来很好,虽然我看到一些阻止它工作的东西:
for (int i = 0; i < (iEmo.Length / 3); i++)
我不知道你为什么要除以3.你应该在这里使用第一个维度的长度:
for (int i = 0; i < iEmo.GetLength(0); i++)
另外,由于你的替换发生的顺序,正常的皱眉“:(”将在“邪恶”面“> :(”之前被替换.当循环到达邪恶的情况时,字符串看起来像“>悲伤”.你应该以降序复杂的方式重新排列你的替换品,如下所示:
iEmo = new string[,]
{
{@">:\(", Evil},
{@":\)", Smile},
{@":\(", Sad},
{@"8\)", Cool},
{@":\|", Neutral},
{@";\)", Wink},
{@">:D", Twisted},
{@":\?", Question,}
};
再次,正常的字符串替换将适用于上述更改.
内容总结
以上是互联网集市为您收集整理的c# – 如何在正则表达式中转义特殊字符?全部内容,希望文章能够帮你解决c# – 如何在正则表达式中转义特殊字符?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。