有一个字符串 str的值为
(((AND PHONE_C = '1' )OR PHONE_C = '1' )AND PHONE_C = '1' )或者是
(((OR PHONE_C = '1' )OR PHONE_C = '1' )AND PHONE_C = '1' )把第一个AND或是OR达到这样的效果
(((PHONE_C = '1' )OR PHONE_C = '1' )AND PHONE_C = '1' )注释:第一AND或OR前面的括号"("数量不确定,可多可少求解答!
(((AND PHONE_C = '1' )OR PHONE_C = '1' )AND PHONE_C = '1' )或者是
(((OR PHONE_C = '1' )OR PHONE_C = '1' )AND PHONE_C = '1' )把第一个AND或是OR达到这样的效果
(((PHONE_C = '1' )OR PHONE_C = '1' )AND PHONE_C = '1' )注释:第一AND或OR前面的括号"("数量不确定,可多可少求解答!
解决方案 »
- ASP。Net reporting Service 和SQL 存储过程(SOS)(在线等)
- 用微软的WebDeployment Project 编译出的网页为什么是乱码?该怎么样解决?
- 页面刷新的时候怎么控制不让它刷新把密码框里的值清掉!!
- 奇怪问题,在线结账:加上where id="+id这个条件就不对??
- 发布一个日历控件,带示例,很好用的,封装了梅花雨的日历3.0,在此表示感谢,大家来看看,来者有分
- 请问这条赋值语句怎么写(C#)
- 请教如何刷新Winform的DataGridView?
- 遇到一个Web.config的问题
- [求助]我刚装好vs.net无法运行aspx文件
- 为什么不行,着急啊!
- 兄弟们帮忙呀!这个数据库连接怎么老出错呀!帮忙呀
- 要取用户控件的值的最简单的写法
string str1 = str.Substring(0, index).Trim();
string str2 = str.Substring(index + 1);
if (str1.EndsWith("AND"))
{
str1 = str1.Remove(str1.Length-3, 3);
}
else
{
str1 = str1.Remove(str1.Length - 2, 2);
}
string newStr = str1 + str2;
string str2 = "((((((AND PHONE_C = '1' )OR PHONE_C = '1' )AND PHONE_C = '1' )";
Console.WriteLine(Regex.Replace(str1, @"(\(+)(OR +|AND +)?(\.*)", "$1$3"));
Console.WriteLine(Regex.Replace(str2, @"(\(+)(OR +|AND +)?(\.*)", "$1$3"));
string str2 = "((((((AND PHONE_C = '1' )OR PHONE_C = '1' )AND PHONE_C = '1' )";
Console.WriteLine(System.Text.RegularExpressions.Regex.Replace(str1, @"(\(+)(OR +|AND +)?(\.*)", "$1$3"));
Console.WriteLine(System.Text.RegularExpressions.Regex.Replace(str2, @"(\(+)(OR +|AND +)?(\.*)", "$1$3"));
意思就是先将字符串分成三部分,(\(+)代表n个(
(OR +|AND +) OR 或者 AND
?(\.*) 任意字符
这样就可以将OR或者And从字符串中独立出来了