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(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |