楼主 kevinchengcw |
Q: 如果文本中存在大量的连续重复字符串,如何能用自定义的函数将之清除到只留一个,如将“学VBA是一件相当相当相当有趣的事”转换成“学VBA是一件相当有趣的事”? A: 利用自定义函数UnduplicateStr,可以实现这一功能。 打开需要的工作簿,按Alt+F11进入VBA编辑器,插入模块后复制下述代码到模块中,保存后即可在工作表中使用 代码如下:
使用格式如下 =UnduplicateStr(字符串或字符串所在单元格地址,要替换的重复内容) 示例1:=UnduplicateStr("VBA is very very powerful!","very ") '将连续的“very ”替换成一个,将得到结果“VBA is very powerful!” 示例2:设A1单元格内容为"He is good.",在A2单元格输入“=UnduplicateStr(A1,"o") ” '替换掉A1单元格中字符串里连续重复出现的字符o为一个o,将得到结果“He is god.” 可以实现替换指定字符串中的连续重复的指定字符或字符串的替换,效果如图 详情见附件 自定义UnduplicateStr函数.rar |
2楼 wise |
总觉得我当初用正则表达式做了一个的样子,我回头找找看 |
3楼 kevinchengcw |
这个你也用正则,杀鸡用牛刀了吧 |