删除字符串中出现字符最少的字符(字符串中删除指定长度及根据固定字符删除)
删除字符串中出现字符最少的字符(字符串中删除指定长度及根据固定字符删除)
2024-10-06 04:11:36  作者:江山棋局  网址:https://m.xinb2b.cn/know/ecn532251.html

分享成果,随喜正能量】这里,有你,有我,有他们,我们能从中看到无数身边人的影子,他们是时代的既得利益者,也有受时代改变的先行者,更有发展阵痛下的承受者,他们都是时代进步下的改革者,历史的见证者。。

《VBA经典应用69例》,是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容是教程的应用7:字符串中删除指定长度及根据固定字符删除


应用7 利用VBA,从字符串中删除字符

我们这个专题的内容是字符串String的处理,在我的各套教程中一直把字符串处理作为一项非常重要的知识点来讲解。对于VBA语言而言,字符串操作是编程中的关键技能。VBA 开发人员的技能水平通常取决于他操纵字符串的程度。Excel 在数学操作方面非常强大,但文本操作却需要我们具有一定的创造力和经验。

在本专题中,我将向展示如何从字符串中删除字符,学习如何通过替换、左、右、修剪和 Instr函数功能来处理它们。

3 从字符串的左侧或者右侧删除指定长度的字符

我们继续研究删除字符的各种情况,这个应用场景是在给定字符串的左侧和右侧删除给定长度的字符,如某个ID号类似于“X123456789”,我们需要从左侧删除一个字符,这种情况下我们可以利用Right函数;再比如,类似于”01234567K”数据,我们需要从右侧删除最后的一个字符,这种情况下我们可以利用Left函数。对于这两个函数,比较简单,我就不再讲解了,直接讲解我给出的实例。

实例四:从字符串的左侧或者右侧删除指定长度的字符 如下面的截图界面:


在A列有一系列的数据,我们要删除左侧第一个字符放在B列,删除右侧最后一个字符放在C列,下面我将利用Righth函数和Left函数来完成,代码如下:

Sub mynzD()

Dim myCell As Range

Dim MyRange As Range

Dim tmp As String

'指定数据区域

Set MyRange = Range("A2:A9")

'遍历循环提取字符串

For Each myCell In MyRange.Cells

tmp = myCell.Value

'提取右侧 Len(tmp) - 1个字符

myCell.Offset(0, 1).Value = ""

myCell.Offset(0, 1).Value = "'" & Right(tmp, Len(tmp) - 1)

'提取左侧 Len(tmp) - 1个字符

myCell.Offset(0, 2).Value = ""

myCell.Offset(0, 2).Value = "'" & Left(tmp, Len(tmp) - 1)

Next

End Sub

代码截图:


代码的讲解:

① myCell.Offset(0, 1).Value = "'" & Right(tmp, Len(tmp) - 1)与myCell.Offset(0, 2).Value = "'" & Left(tmp, Len(tmp) - 1) 这两句代码在前面均有 "'" ,这是为了以文本格式进行回填数据的需要。

② 去掉源数据最左边的字符用的是右截取;去掉源数据最右边的字符用的是左截取,截取的长度是“总长度-1”。

最后我们看一下代码的运行效果:


4 根据指定的固定字符进行删除操作

我们继续讲解字符串的操作,这部分我们讲解如何根据指定的固定字符进行字符串的删除操作。我们看这样的一个操作:对于一个电子邮件,如nesang@189.cn,我们需要删除邮件中的189.cn这个域名,该如何进行字符串的操作呢?

这种情况下,我们可以通过VBA中的Instr函数首先找出"@"的位置,要删除域名,我们必须提取"@"的前的所有字符。

实例五:根据指定的固定字符进行删除操作

下面我们以批量操作来讲解,如下面的截图:


下面看我给出的代码:

Sub mynzE()

Dim myCell As Range

Dim MyRange As Range

Dim tmp As String

'指定数据区域

Set MyRange = Range("A12:A15")

'遍历循环提取字符串

For Each myCell In MyRange.Cells

tmp = myCell.Value

'提取"@"左侧 字符

myCell.Offset(0, 1).Value = ""

myCell.Offset(0, 1).Value = "'" & Left(tmp, InStr(tmp, "@") - 1)

Next

End Sub

代码截图:


代码的解读:

① Left(tmp, InStr(tmp, "@") - 1)是提取"@"左侧 字符。

② InStr(tmp, "@")是获取"@"在字符串中位置。

最后我们看代码的运行结果:


(待续)

本讲内容参考程序文件:应用007.xlsm


我20多年的VBA实践经验,全部浓缩在下面的各个教程中:



分享成果,随喜正能量】努力总是与幸运成正比,今天的努力,从来不会被辜负,希望明天的你,只有惊喜,没有失望,未来可期。。

  • 第五人格新手教程通关后该干什么(新手入坑全攻略)
  • 2024-10-06新手入坑全攻略※阿拉拉拉拉拉,你们的皇帝回来……额不是,你们的老疯子回来啦!※点击右上角【关注】“游戏疯说”疯子每日更新,成就大神之路全文共900字,阅读时间3分钟————————————————啊哈哈哈,又到周末。
  • 高僧兜率天(道安大师临终之际)
  • 2024-10-06道安大师临终之际驻锡襄阳的时候,释道安(公元312-385年)就曾与弟子法遇、昙戒等八人在弥勒像前发誓,愿此身结束后往生到弥勒兜率净土继续修行他为什么要选择弥勒净土呢?这个说来有点话长原始佛教认为人只要修炼成阿罗汉即。
  • 初学者怎样养金鱼(养金鱼方法)
  • 2024-10-06养金鱼方法新手养金鱼需要先准备一个鱼缸,鱼缸可以适当大一些,这样容纳的水比较多,养的鱼也就比较多平时主要投喂一些鱼食,每天可以喂三次,但用量不宜太多,通常保证鱼儿能在5-10分钟内吃完为宜另外还要定期换水,每隔。
  • 凉拌豆腐丝怎么做才好吃(凉拌豆腐丝这样做)
  • 2024-10-06凉拌豆腐丝这样做豆腐皮,黄瓜和红萝卜洗净切丝备用,大蒜切片,香菜,葱,红辣椒切段锅里倒水烧开,将豆腐丝和红萝卜丝白灼一下,捞出备用另拿个小锅倒食用油烧热,将大蒜片、葱头和红辣椒放入熟油过一下再将豆腐丝和青瓜丝,香菜,。
  • 苏神放水(苏神继续封神)
  • 2024-10-06苏神继续封神聚焦全运广州日报全媒体记者白志标在东京奥运会上,苏炳添在男子100米跑出9.83秒,决赛位列第6名,成为新的亚洲纪录创造者以及第一位进入奥运会决赛的亚洲人昨天,有着“苏神”之称的苏炳添又获得了新的荣誉。
  • 优秀教师一定要知道的14件事心得(正高级教师对生命的感悟)
  • 2024-10-06正高级教师对生命的感悟生命的光辉文/刘有斌(图片来自网络)这个世界有太多的无奈与悲哀大多数人都在忙于争夺与分割,甚至斗得鲜血淋漓,天昏地暗,使得生命黯淡无光但也有少数的精英在闪耀着灿烂的生命之光,在天昏地暗中冲出一道道曙光。
  • 云顶之弈10.16最强阵容装备推荐(云顶之弈9.16虚空斗法龙)
  • 2024-10-06云顶之弈9.16虚空斗法龙国服云顶之弈9.16版本也已经更新了一段时间,随着海克斯羁绊的加入,“小萝莉”金克丝也成为版本S级的棋子,加之“六贵族”阵容的强势崛起成为版本主流,“六贵族”阵容像上个版本的虚空怪物一样霸占整个瓦罗兰。
  • vivo x5 max蓝宝石(令人满意的音质表现)
  • 2024-10-06令人满意的音质表现对于专注于发展手机Hi-Fi领域的vivo来说,今天发布的vivoX5Max,在保留了此前X5近全部特性的同时,在机身厚度、硬件配置等方面都做了全新的升级,甚至打出了“全球最薄智能手机”的口号那么,在。
  • 风水中的砂怎么才算标准 风水中的基本知识
  • 2024-10-06风水中的砂怎么才算标准 风水中的基本知识杨公《撼龙经》专言山龙脉络形势,主要内容是注重龙、穴、砂、水相配杨公是江西形象派的祖师杨公所著《撼龙经》是大师名著《撼龙经》讲究穴周围的山水环抱,也就是砂水会合有情形派中的砂与水,是风水中最基本的两个。
  • 针插不进水泼不进的意思(针插不进水泼不进什么意思)
  • 2024-10-06针插不进水泼不进什么意思针插不进,水泼不进,俗语,比喻一个集团非常排外,不容易打进去,也比喻一个人坚持已见,不听别人的任何意见出处:熊召政《张居正》第一卷第23回:“一切都得看他的眼色行事,外人是针插不进,水泼不进”用法:作。