相关疑难解决方法(0)

如何从短划线以外的字符串中删除所有非字母数字字符?

如何从字符串和空格字符以外的字符串中删除所有非字母数字字符?

c# regex

571
推荐指数
8
解决办法
34万
查看次数

RegEx.IsMatch()与String.ToUpper().包含()性能

由于在.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()在性能方面如何比较呢?

是否有更有效的方法进行此类比较?

c# regex string

5
推荐指数
2
解决办法
3312
查看次数

替换字符串中的非字母字符

我正在尝试取一个字符串并用空格替换不是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)

c#

2
推荐指数
1
解决办法
1105
查看次数

标签 统计

c# ×3

regex ×2

string ×1