由于在.NET中没有不区分大小写string.Contains()的情况(但是string.Equals()存在一个不区分大小写的版本让我感到困惑,但我离题了),使用RegEx.IsMatch()与使用之间的性能差异是什么String.ToUpper().Contains()?
例:
string testString = "tHiSISaSTRINGwiThInconSISteNTcaPITaLIZATion";
bool containsString = RegEx.IsMatch(testString, "string", RegexOptions.IgnoreCase);
bool containsStringRegEx = testString.ToUpper().Contains("STRING");
Run Code Online (Sandbox Code Playgroud)
我一直听说这string.ToUpper()是一个非常昂贵的电话,所以当我想进行string.Contains()比较时,我不愿意使用它,但RegEx.IsMatch()在性能方面如何比较呢?
是否有更有效的方法进行此类比较?
我正在尝试取一个字符串并用空格替换不是AZ的所有内容.所以例如"AB $ CD $ EF"应输出"AB CD EF"
我遇到的问题是以下错误:
实例参数:无法从'string []'转换为'System.Linq.IQueryable'
码:
string[] alpha = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
string inVAR = textBox1.Text.ToUpper();
string outVAR;
StringBuilder sb = new StringBuilder(inVAR);
foreach (int i in inVAR) // inVAR because stringbuilders won't work with foreach
{
if (alpha.Contains(sb[i]))
{
outVAR += sb[i].ToString();
}
else
{
sb[i] = ' '; …Run Code Online (Sandbox Code Playgroud)