正则表达式帮助 - 忽略括号,ands,ors和whitespace

时间:2014-03-26 14:16:29

标签: c# regex

鉴于此: (C和(D或B)) 如何返回项目集合:C,B,D 忽略AND,OR,空格和括号? 对不起,如果这个问题太傻了。

2 个答案:

答案 0 :(得分:1)

首先使用AND替换字符串中的所有不需要的OR()space

string input = "(C AND (D OR B))";
input = Regex.Replace(input, @"AND|OR|[)(]", " ");

然后修剪弦乐。并用逗号(,)替换连续的空格:

input = Regex.Replace(input.Trim(), @"[ ]+", ",");

答案 1 :(得分:1)

你可以拆分字符串。

string[] items = "(C AND (D OR B))".Split(new[] { "(", ")", "AND", "OR", " " }, StringSplitOptions.RemoveEmptyEntries);