加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#regex.split方法在括号前添加空字符串

发布时间:2020-12-16 09:35:53 所属栏目:百科 来源:网络整理
导读:我有一些代码将方程输入标记为字符串数组: string infix = "( 5 + 2 ) * 3 + 4";string[] tokens = tokenizer(infix,@"([+-*()^])");foreach (string s in tokens){ Console.WriteLine(s);} 现在这里是tokenizer函数: public string[] tokenizer(s
我有一些代码将方程输入标记为字符串数组:

string infix = "( 5 + 2 ) * 3 + 4";
string[] tokens = tokenizer(infix,@"([+-*()^])");
foreach (string s in tokens)
{
   Console.WriteLine(s);
}

现在这里是tokenizer函数:

public string[] tokenizer(string input,string splitExp)
        {
            string noWSpaceInput = Regex.Replace(input,@"s","");
            Console.WriteLine(noWSpaceInput);
            Regex RE = new Regex(splitExp);
            return (RE.Split(noWSpaceInput));
        }

当我运行它时,我将所有字符分开,但在括号chracters之前插入一个空字符串…如何删除它?

//这里是空字符串

(

?

2

//这里是空字符串

)

*

3

?

4

解决方法

我会过滤掉它们:

public string[] tokenizer(string input,string splitExp)
{
    string noWSpaceInput = Regex.Replace(input,"");
    Console.WriteLine(noWSpaceInput);
    Regex RE = new Regex(splitExp);
    return (RE.Split(noWSpaceInput)).Where(x => !string.IsNullOrEmpty(x)).ToArray();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读