以下情况用正则做替换:$value > abdc  ---〉 $value > 'abdc'  $value = abdc  ---〉 $value = 'abdc' $value != abdc  ---〉 $value != 'abdc'   $value >= aa and $value < cc   ---〉 $value >= 'aa' and $value < 'cc' $value <= aa or $value > cc   ---〉 $value <= 'aa' or $value > 'cc'关系运算符只有以上几种,就是要把运算符右边的字符加上单引号,$value 不要替换

解决方案 »

  1.   

    补充一下:最多只能有2个判断条件,也就是说and 或 or 最多只可能出现一次
      

  2.   

    private static string ConvertStr(string inStr)
    {
           Regex myReg=new Regex(@"(?<=[=><]+ *)([a-zA-Z]+) *");
           return myReg.Replace(inStr,"'"+myReg.Match(inStr).Value+"'");
    }
      

  3.   

    string regexStrBefore = "([<>=] +)([a-zA-Z]+)";
    string regexStrAfter = "$1'$2'";
    yourStr = @"$value > abdc  ---〉 $value > 'abdc'  $value = abdc  ---〉 $value = 'abdc' $value != abdc  ---〉 $value != 'abdc'   $value >= aa and $value < cc   ---〉 $value >= 'aa' and $value < 'cc' $value <= aa or $value > cc   ---〉 $value <= 'aa' or $value > 'cc'
    ";string temp  = Regex.Replace(yourStr, regexStrBefore, regexStrAfter);