在字符串中查找特殊字符并使用 C# 中的正则表达式进行更改
本文关键字:正则表达式 查找 字符串 特殊字符 | 更新日期: 2023-09-27 18:34:02
我试图在我的字符串中找到'&'
字符并使用正则表达式将其与"and"
字符串切换,但我显然做错了。
这是代码的一部分,用于检查是否存在'&'
符号,如果有,则应将其更改为 "and"
。
if (Regex.IsMatch(toCheck, @"[^&]"))
return Regex.Replace(toCheck, @"[^&]", "and");
我得到的结果是只包含'&'
符号的字符串。有人可以帮我解决这个正则表达式的事情吗,这让我有点困惑。谢谢!
我只会使用常规字符串函数来做到这一点:
return toCheck.Replace("&","and");
如果你真的想用正则表达式来做,你的函数有点错误,[^&]
实际上意味着不包含&
。删除它,你会没事的。甚至没有必要把它放在括号之间,因为它不是正则表达式中的特殊字符。请记住不要将正则表达式用于琐碎的事情,例如搜索一个字符并替换它,它是使用大锤来敲开螺母。
如果您想
替换,您无需检查 IsMatch,如果没有发生,它就不会替换。
此外,一个简单的字符串替换就足够了,您不需要正则表达式即可解决此问题:
Console.WriteLine("Hello&World&Mars".Replace("&", " and "));
这就够了
[^&] 表示所有不等于 &
的字符。
^ 反转选择
这是您对字符串是否包含"&"字符进行检查的方式!
if(Regex.IsMatch(toCheck,@"[&]"))
//do whatever you want to
虽然,有很多讨论正则表达式的主题,你可以访问其中任何一个,在这里我有一个链接给你,你可以在这里简要学习正则表达式!