asp.net高效替换大容量字符实现代码
str=str.replace(字符串一,字符串二)
不难发现一个问题,如果str要循环替换很多次,下一次替换时会累加上上次替换的内容,并且全遍历一次,如果字符串二很多,替换的过程就像阶梯效果,越来越大,所以速度越来越慢。要解决这个问题只能找另外的方法替换这种表达方式。
如何以更高效率代替这种操作? 思路如下:
每次替换完后,在下次替换时先排除这次替换的内容,累加本次替换的内容。
代码如下:
public Regex returnMatch(String str)//匹配正则
{
Regex r;
r = new Regex(@str,RegexOptions.IgnoreCase);
return r;
}
/// <summary>
/// 替换
/// </summary>
/// <param name="sDetail">要处理的字符</param>
/// <param name="regex">正则表达式</param>
/// <param name="replace_str">要替换的内容</param>
/// <returns>处理完的字符</returns>
public string replace(string sDetail,string regex)
{
int last_index=0;
string cut_str=sDetail;
string return_str="";
Regex r;
Match m;
r = returnMatch(regex);
for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
int n=m.Groups[0].Length;//匹配长度
cut_str=cut_str.Substring(last_index,cut_str.Length-last_index);//去掉上次后的结果
int k=cut_str.IndexOf(m.Groups[0].ToString());//当前位置
string this_v=cut_str.Substring(k,n);//当前匹配的值
string str3=cut_str.Substring(0,k+n);//当前得到的值
//return_str+=str3.Replace(m.Groups[0].ToString(),Return_Item_Content(m.Groups[0].ToString()));
return_str+=evn(str3,m);
last_index=k+n;//记录当前匹配的位置
}
if(return_str!="")
sDetail=return_str+cut_str.Substring(last_index,cut_str.Length-last_index);
return sDetail;
}
}
相关推荐
-
ASP正则函数替换分页后的参数
Function DRexPage(Str) Dim RegEx If IsNull(Str) Or Str="" Then Exit Function Set RegEx=New RegExp RegEx.IgnoreCase=True RegEx.pattern="(\&)?page=(\d)+" DRexPage=regEx.replace(Str,"") '(St
-
ASP替换、保存远程图片实现代码
ASP通过函数来实现替换.保存远程图片,完成自动采集图片.提取图片的功能,函数中自动判断重复图片,智能分析链接路径,并转成成相对的图片地址保存在你指定的网站目录中,我们可将此函数用在后台的编辑器中,当你复制了含有图片的内容后,本代码会自动帮你上传图片.同时本代码也是采集程序中的重要处理函数,函数代码如下: Function ReplaceSaveRemoteFile(ConStr,strInstallDir,strChannelDir,SaveTf,TistUrl) If ConStr="$Fa
-
ASP保存远程图片到本地 同时取得第一张图片并创建缩略图的代码
采集中 或者 在线添加文章中 都可以用到此功能 俺自己在baidu上搜索的保存远程图片到本地的代码 感觉比较难用点 而且没有现成的比较全的代码 俺也看不懂 俺从 SNA新闻采集系统 For 3.62 (程序制作:ansir)里提取了点函数 用下 比较简单好用 以下是函数 程序代码 复制代码 代码如下: <% '================================================== '函数名:CheckDir2 '作 用:检查文件夹是否存在 '参 数:FolderP
-
asp 图片正则 替换,替换前检查图片是不是本地地址的方法
直接用正则替换,但没有判断功能 Function FormatImg(content) dim re Set re=new RegExp re.IgnoreCase =true re.Global=True re.Pattern="(script)" Content=re.Replace(Content,"script") re.Pattern="<img.[^>]*src(=| )(.[^>]*)>" Content=r
-
asp常用的正则表达式实现字符串的替换
去除html标签正则<\/*[^<>]*>Function LoseHtml(ContentStr) Dim ClsTempLoseStr,RegEx ClsTempLoseStr = Cstr(ContentStr) Set RegEx = New RegExp RegEx.Pattern = "<\/*[^<>]*>" RegEx.IgnoreCase = True
-
asp.net(c#)判断远程图片是否存在
复制代码 代码如下: private int GetUrlError(string curl) { int num = 200; if(this.method==1) { HttpWebRequest request=(HttpWebRequest) WebRequest.Create(new Uri(curl)); ServicePointManager.Expect100Continue=false; try { ((HttpWebResponse)request.GetResponse()
-
asp+Access通用的自动替换数据库中的字符串
当初只是为了玩玩写的,没想到写了之后不断有人询问,所以改写了一下代码,完善了一下,支持了正则替换,避开了会导致出错的二进制(ole对象),并且做了一个EXE的程序.感谢虚拟帮忙. 附asp代码: 复制代码 代码如下: <% '#################################### '批量替换数据库内容2008-3-17 '替换是不可逆的,所以操作前做好能备份 '#################################### Di
-
asp.net保存远程图片的代码
注意:并没有实现CSS中的图片采集,且图片的正则还有待完善. 复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using
-
asp.net高效替换大容量字符实现代码
一般进行替换操作都这样: 复制代码 代码如下: str=str.replace(字符串一,字符串二) 不难发现一个问题,如果str要循环替换很多次,下一次替换时会累加上上次替换的内容,并且全遍历一次,如果字符串二很多,替换的过程就像阶梯效果,越来越大,所以速度越来越慢.要解决这个问题只能找另外的方法替换这种表达方式. 如何以更高效率代替这种操作? 思路如下: 每次替换完后,在下次替换时先排除这次替换的内容,累加本次替换的内容. 复制代码 代码如下: public Regex returnMatc
-
C++ string替换指定字符实例代码
前言 C++的string提供了replace方法来实现字符串的替换,但是有时候我们想要实现类似JAVA中的替换功能--将string中的某个字符a全部替换成新的字符b,这个功能在提供的replace方法中并没有实现. 不过只要再深入了解一下STL,就可以在变易算法中找到解决方案--使用#include<algorithm>中的replace算法即可. 测试代码如下: #include<algorithm> #include<string> #include<io
-
asp下实现替换远程文件为本地文件并保存远程文件的代码
1.将下面的文本文件下载,并将.TXT改为remote.asp,里面有具体设置方法 复制代码 代码如下: <% '添加资源时是否保存远程图片 Const sSaveFileSelect=True '远程图片保存目录,结尾请不要加"/" Const sSaveFilePath="/images/News" '远程图片保存类型 Const sFileExt="jpg|gif|bmp|png" '////////////////////////
-
用js替换除数字与逗号以外的所有字符的代码
用js替换除数字与逗号以外的所有字符 复制代码 代码如下: <script language="javascript"> var str="asdfk,asdf345345,345345"; //替换除数字与逗号以外的所有字符.str=str.replace(/[^0-9,]*/g,""); //去掉第一个逗号if (str.substr(0,1)==',') str=str.substr(1);//去掉第二个逗号var reg=/
-
js替换字符串中所有指定的字符(实现代码)
第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志). replace() The replace() method returns the string that results when you replace text matching its first argumen
-
JS利用正则配合replace替换指定字符
定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp,replacement) 参数 描述 regexp 必需.规定了要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 返回值 一个新的字符串,是用 repl
-
asp.net下检测SQL注入式攻击代码
两个类: (页面数据校验类)PageValidate.cs 基本通用. 代码如下: 复制代码 代码如下: using System; using System.Text; using System.Web; using System.Web.UI.WebControls; using System.Text.RegularExpressions; namespace Common { /// <summary> /// 页面数据校验类 /// </summary&
-
网页前台通过js非法字符过滤代码(骂人的话等等)
代码一:keypress事件时使用 复制代码 代码如下: /****************************************************/ //功能:过滤非法字符 //说明:keypress事件时使用 //作者:XXXXXXX //日期:2010年5月7日 /****************************************************/ function surnam_keypress(event) { //非法字符集 var codes
-
JavaScript 替换Html标签实现代码
复制代码 代码如下: str = str.<br /> replace( /&(?!#?\w+;)/g , '&').<br /> replace( /undefinedundefined([^undefinedundefined]*)"/g , '"$1"' ).<br /> replace( /</g , '<' ).<br /> replace( />/g , '>' ).<b
-
使用js的replace()方法查找字符示例代码
通常用于文本输入框的一种功能是替换指定的字符.JavaScript具有一个非常有用的方法replace(),可以用它利用备选字符集途欢指定的字符. replace()方法允许指定希望替换的字符或字符集,方式是利用字符串或者正则表达式:这是该方法的第一个实参.第二个实参是谢昂替换为的字符.第二个实参通常只是一个替换字符串(替换字符集),但他可以是用于确定替换字符串应当是什么的函数--如果是函数,则返回值应当用做俄日替换字符串.隐藏replace()方法的语法可以是如下任意一种: 复制代码 代码如下
随机推荐
- oracle数据与文本导入导出源码示例
- PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
- 使用js检测浏览器是否支持html5中的video标签的方法
- cmd forfiles 从文件夹或树中选择要进行批处理的文件(方便批量删除n天前的文件)
- Android实现二维码扫描和生成的简单方法
- python 获取命令行参数 函数
- php生成4位数字验证码的实现代码
- mcrypt启用 加密以及解密过程详细解析
- android自定义popupwindow仿微信右上角弹出菜单效果
- Vue.js -- 过滤器使用总结
- javascript获取表格 td 中的内容
- PHP获取一个字符串中间一部分字符的方法
- 跟我学XSL(一)第1/5页
- 如何将javaweb项目部署到linux下
- ThinkPHP3.1的Widget新用法
- jQuery 局部div刷新和全局刷新方法总结
- C++中的内存对齐实例详解
- Java中生成随机数的实现方法总结
- Android端“被挤下线”功能的单点登录实现
- PHP简单实现单点登录功能示例