欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是建站经验系列之:【asp.net如何加快页面加载(三)——浅谈正则应用】,下面是详细的分享!
asp.net如何加快页面加载(三)——浅谈正则应用
在这一两年内数据存储以json格式风靡全球。各个大大小小的网站都会使用json格式来存储一些细节或只读(非查询筛选条件)的信息。而在c#后台代码读取json 格式转化为Datatable或者其他对象,json字符串数据提取某些值时都显得极其繁琐。
现在我们看看使用最原始的办法(数组分拆法)提取json字符串数据提取某些值:
示例1:假设我们有一个数据存储的是网站信息:
string txtRent=@"{'网站名称':'脑球','网站地址':'http://www.naoqiu.com','IP':'192.168.0.1','综合排名':'没有排名数据'},
{'网站名称':'家常菜谱','网站地址':'http://shipu.naoqiu.com','IP':'192.168.0.2','综合排名':'12345678'},
{'网站名称':'公交查询网','网站地址':'http://bus.naoqiu.com','IP':'192.168.1.2','综合排名':'12345678'}";
接下来我们得从这些信息中获取网站地址,数组分拆法代码如下:
/// <summary>
/// 数组分拆法 /// </summary>
/// <returns></returns>
public static string[] GetRentInfo()
{
string txtRent=@"{'网站名称':'脑球','网站地址':'http://www.naoqiu.com','IP':'192.168.0.1','综合排名':'没有排名数据'},
{'网站名称':'家常菜谱','网站地址':'http://shipu.naoqiu.com','IP':'192.168.0.2','综合排名':'12345678'},
{'网站名称':'公交查询网','网站地址':'http://bus.naoqiu.com','IP':'192.168.1.2','综合排名':'12345678'}";
string[] items=txtRent.TrimEnd('}').Split('}');
string[] newItems=new string[items.Length];
int i=0, index=0;
string tem;
foreach (string s in items) {
index=s.IndexOf("网站地址");
tem=s.Substring(index + 7);
newItems[i++]=tem.Split('\'')[0];
}
return newItems;
}
这种方法虽然可以实现功能,但似乎代码写得有些繁杂,执行效率底,那我们怎么样来提高代码的提高效率,以及简洁性? 答案是有的,使用正则来获取相应的数据:
/// <summary>
/// 正则基础应用
/// </summary>
/// <returns></returns>
public static string[] GetInfo_Domain() {
string txtRent=@"{'网站名称':'脑球','网站地址':'http://www.naoqiu.com','IP':'192.168.0.1','综合排名':'没有排名数据'},
{'网站名称':'家常菜谱','网站地址':'http://shipu.naoqiu.com','IP':'192.168.0.2','综合排名':'12345678'},
{'网站名称':'公交查询网','网站地址':'http://bus.naoqiu.com','IP':'192.168.1.2','综合排名':'12345678'}";
MatchCollection matches=Regex.Matches(txtRent, @"(?<=网站地址\'\:\')[^\']+");
string[] newItems=new string[matches.Count];
int i=0;
foreach (Match m in matches) {
newItems[i++]=m.Value;
}
return newItems;
}
总结:看到这个方法是否觉得正则好方便!正则的应用非常广泛,比如网页内容的提取。
以上所分享的是关于asp.net如何加快页面加载(三)——浅谈正则应用,下面是编辑为你推荐的有价值的用户互动:
相关问题:用ASP.NET做一个最简单的网页
答:在目前的网站统计系统决大部分都是CGI的,但编写起来特别复杂,而ASP学起来简单,更有和数据库结合的优点,所以结合自己曾经做过的网站统计系统,和大家探讨一下ASP编写网站统计系统。 大家都看过网易的网站统计系统,它可以统计总访问量,每日... >>详细
相关问题:asp.net中 正则表达式写在什么位置上 急急急
答:六种公共ASP.NET验证控件,如下: 对照功能描叙 的RequiredFieldValidator(必须字段验证)用于检查是否输入值 的CompareValidator(比较验证)通过设置两个输入比较 RangeValidator控件(范围验证)输入是在指定的范围 RegularExpressionValida... >>详细
相关问题:asp.net 后台c#正则表达式 提取值,来个认真点的高...
答:这是正则表达式 [^#]+?(?=#) asp.net 无能为力了 。 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
