用Mid$命令超速字符串添加操作

2016-02-19 19:24 5 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的用Mid$命令超速字符串添加操作,希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

大家都知道,&操作符的执行速度是相当慢的,特别是处理长字符串时。当必须重复地在同一变量上附加字符时,有一个基于Mid$命令的技巧可以使用。基本思路就是:预留一个足够长的空间存放操作的结果。下面是应用这个技术的一个例子。

假设要建立一个字符串,它要附加从1开始的10000个整数:"1234567...9999

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

10000"。下面是最简单的实现代码:
  res=""
  Fori=1to10000:res=res&Str(i):Next
  
  代码虽然简单,但问题也很明显:Res变量将被重分配10000次。下面的代码实现同样的目的,但效果明显好转:
  
  DimresAsString
  DimiAsLong
  DimindexAsLong

'预留足够长的缓冲空间
  res=Space(90000)
  
  '指针变量,指出在哪里插入字符串
  index=1

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

'循环开始
  Fori=1to10000
  substr=Str(i)
  length=Len(substr)

'填充字符串的相应区间段数值
  Mid$(res,index,length)=substr

'调整指针变量
  index=index length

Next

'删除多余字符
  res=Left$(res,index-1)
  
  测试表明:在一个333MHz的计算机上,前段代码执行时间为2.2秒,后者仅仅为0.08秒!代码虽然长了些,可是速度却提高了25倍之多。呵呵,由此看来:代码也不可貌相啊

->

来源:http://www.tulaoshi.com/n/20160219/1620938.html

延伸阅读
UPDATE Friend set Name = REPLACE(Name,'脚本,'脚本之家www.jb51.net')超级简单 
FillString函数有两个参数,一个是用来重复填充的字符,另一个是填充后的字符串长度。然后它返回填充后的字符串,重复次数由填充字符的个数和填充后字符串长度决定。 该函数建立一个循环,循环次数基于所要求的字符串长度。循环步长有参数Value(即用来重复填充的子字符串)的长度决定。该函数把参数Value作为工作字符串,重复后按所要...
Objective-C简单封装 字符串的存储操作,省去中间沙盒处理方式 代码如下: /存储publickey和sessionID -- writeContent: nil - 仅取出数据, 其他 - 修改原内容并提取 +(NSString *)storeFile:(NSString *)fileName content:(NSString *)writeContent {     NSString *pathDocuments=[NSSearchPathForDirectoriesInDomains...
标签: Web开发
去掉字符串中匹配 的字符串 代码如下: /** * 去掉字符串中匹配 的字符串 * * @author zhujie * @return String regex 要替换的内容 value 字符串 state 替换的内容变成什么 */ public static String toRegex(String regex, String value, String state) { Pattern p = Pattern.compile(regex); Matcher m = p.matcher(value); String...
MFC中有几个字符串操作函数很有用,但有的在MSDN中都查不到,因为MSDN没有公布。下面我们来看看它们的用法和声明及定义等。 // 功能 : 格式化字符串 // 参数 : rString - 输出参数,格式化后的字符串将保存在此字符串中 !-- frame contents -- !-- /frame contents -- // nIDS - 将进行替换操作的格式字符串...

经验教程

462

收藏

79
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部