ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 用Mid语句来实现字符串替换

用Mid语句来实现字符串替换

作者:绿色风 分类: 时间:2022-08-18 浏览:136
楼主
amulee
Mid语句可以用于替换,速度非常快。
其语法与我们取字符的MID函数语法相同,只不过等号左右颠倒了一下
Mid(要替换的字符串, 起始位置[, 替换长度]) = 用于替换的字符串
例如下面语句,将MyStr的第五位替换成0
  1. Dim MyStr$
  2. MyStr$ = "123456789"
  3. Mid(MyStr, 5, 1) = "0"
  4. Debug.Print MyStr   '输出123406789
用Mid语句替换后的字符串与原字符串长度保持一致,不会改变。
如果要替换两位,则后面的替换值也必须得两位,否则只能替换一位
  1. Mid(MyStr, 5, 2) = "0"  '由于给第五、第六位的赋值仅一位字符串,所以仅替换一位
  2. Debug.Print MyStr   '输出123406789
  3. Mid(MyStr, 5, 2) = "00" '此时,第五第六位都替换
  4. Debug.Print MyStr   '输出123400789
如果省略Mid语句的第三个参数,则等号右边的值有几位就替换几位,但最长不超过MyStr原长
  1. Mid(MyStr, 5) = "0000000"
  2. Debug.Print MyStr   '输出123400000
用Mid可以实现类似于Replace的功能,但是只能替换第一个匹配值
  1. MyStr$ = "123467855"
  2. Mid(MyStr, InStr(1, MyStr, 5), 1) = "0" '将第一个5替换成0
  3. Debug.Print MyStr   '输出123467805
在特定情况下,用Mid来代替Replace,可以提高速度。
详情请查看附件。



MID替换.rar
2楼
wise


mid$的速度比mid的还要快一点点
3楼
lrlxxqxa
mid$的用法应该和mid一样吧?版主
4楼
wise
不一样的,mid$快一点

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap