如下字符串:
T_BH+T_BJ==T_BL
T_K+T_Q<=T_C
由一个变量与一个或多个变量进行+ - * / 运算
与另一个变量的比较关系
如何把这样的字符串分割成变量名的字符串数组。
T_BH+T_BJ==T_BL
T_K+T_Q<=T_C
由一个变量与一个或多个变量进行+ - * / 运算
与另一个变量的比较关系
如何把这样的字符串分割成变量名的字符串数组。
解决方案 »
- .net 邮件群发问题,没法解决。高手请进,谢谢
- XP下 IIS 5.1 访问元数据失败。。。
- 请教:gridview的width最大是多少,如何解决方案
- SqlDataSource控件怎么实现查找
- 类的继承重载问题,出错:no suitable method found to override
- 小妹毕业设计遇到难题,请教各位高手!!!
- 推荐大家一个很好用的在线收藏夹.
- 高手接招:请问在模态对话框中页面a.html链接到了b.html,为何在b.html不能用window.history.back()返回a.html?
- 为什么,这么小的程序都出不来?
- 怎样从数据库中读出数据,然后赋值给文本框啊?就像以前做信息修改那样~
- GridView的RowCancelingEdit我怎么没找到啊..怎么定制它啊?
- Ajax问题,我在页面中加入了scripmanager 和 updatepanel,但为什么在我运行时 会报错? 错误为 Sys 未定义
表达式就这么简单吗?
那直接 Splitstring[] separators = {
"+", "==", "<="
// ....
};string[] result = source.Split(separators);2.
复杂表达式, 那就当然首选 正则 啦
string str="T_BH+T_BJ==T_BL";
string Rstr=Regex.Replace(str,@"[+\-*/=]+",",");
string[] arr=Rstr.Split(',');手打代码,不保证能正确编译
//然后用下面的函数进行分割
private string[] getarr(string strrule)
{
char[] separators = {'+','-','*','/','%', '=', '>','<','≤','≥'};
string[] strxueliarr=strrule.Split(separators);
return strxueliarr;
}
//在最后调用的时候再替换还原
==========
简单表达直接 switch case复杂表达式,只有专门的运算器,
protected DataTable dt=new DataTable("aa");bool rule_ct=(bool)dt.Compute(str,"");
if(!rule_ct)
{
//不符合该表达式
Response.Write("<script language=javascript>alert('错误')</script>");
}
可以直接转换的。前些天学习到的,非常方便的解决了这个问题
string[] results = Regex.Split(sourceString,@"\+|\*|\-|\/|<=|==");
foreach (string result in results)
{
WL(result);
}
---------------------------------------------
MSN:[email protected]请给我一个与您交流的机会!