如下字符串:
T_BH+T_BJ==T_BL
T_K+T_Q<=T_C
由一个变量与一个或多个变量进行+ - * / 运算
与另一个变量的比较关系
如何把这样的字符串分割成变量名的字符串数组。

解决方案 »

  1.   

    1.
    表达式就这么简单吗?
    那直接 Splitstring[] separators = {
           "+", "==", "<="
           // ....
           };string[] result = source.Split(separators);2.
    复杂表达式, 那就当然首选 正则 啦
      

  2.   

    sorry, 重载方法调用错误, 且此方法在 2.0 才受支持string[] result = source.Split(separators);》》》string[] result = source.Split(separators, StringSplitOptions.None);
      

  3.   

    + - * / == 号先替换成其他符号 然后用Split就可以了using System.Text.Re....... 单词忘了
    string str="T_BH+T_BJ==T_BL";
    string Rstr=Regex.Replace(str,@"[+\-*/=]+",",");
    string[] arr=Rstr.Split(',');手打代码,不保证能正确编译
      

  4.   

    //先对双字符进行替换(==,>= <= )
    //然后用下面的函数进行分割
    private string[] getarr(string strrule)
    {
    char[] separators = {'+','-','*','/','%', '=', '>','<','≤','≥'};
    string[] strxueliarr=strrule.Split(separators);
    return  strxueliarr;
    }
    //在最后调用的时候再替换还原
      

  5.   

    正则是首选,也可以先将特殊符号先行替换,然后直接split成一个数组
      

  6.   

    正则是首选,也可以先将特殊符号先行替换,然后直接split成一个数组
      

  7.   

    字符串类型的运算符如何转换成 表达式?
    ==========
    简单表达直接 switch case复杂表达式,只有专门的运算器,
      

  8.   


    protected  DataTable dt=new DataTable("aa");bool rule_ct=(bool)dt.Compute(str,"");
    if(!rule_ct)
    {
    //不符合该表达式
    Response.Write("<script language=javascript>alert('错误')</script>");
    }
      

  9.   

    dataTable的一个类 dt.Compute
    可以直接转换的。前些天学习到的,非常方便的解决了这个问题
      

  10.   

    string sourceString = "T_BH+T_BJ==T_BL";
    string[] results = Regex.Split(sourceString,@"\+|\*|\-|\/|<=|==");
    foreach (string result in results)
    {
    WL(result);
    }
      
    ---------------------------------------------
    MSN:[email protected]请给我一个与您交流的机会!