删除字符串中出现字符最少的字符(字符串中删除指定长度及根据固定字符删除)
删除字符串中出现字符最少的字符(字符串中删除指定长度及根据固定字符删除)
2024-11-22 12:29:04  作者:江山棋局  网址:https://m.xinb2b.cn/sport/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-11-22羊肚这样做又香又脆大家好,今天和大家一起分享的菜品为羊肚,羊肚的营养价值有补气虚,健脾胃,有开胃的做用,所以今天就给大家带来4种羊肚的家常做法由于在疆,隔离没有详细配图,望理解第一道爆炒羊肚食材如下羊肚一个先将羊肚冲洗。
  • 微信文件为什么老是过期(微信文件总是过期没保存)
  • 2024-11-22微信文件总是过期没保存这些针对用户需求痛点开发的工具的确让工作生活变得方便很多微信用的多了,想必你会遇到这样的问题好友上千人,窗口来回切换收发文件,工作时难免会忽略掉一些文档,等到想起来需要查看时却发现已经被微信自动清理如。
  • 数学小故事又简短又好50字(数学小故事)
  • 2024-11-22数学小故事50字很难说清一个故事《阿拉伯数字的由来》小明是个喜欢提问的孩子一天,他对0—9这几个数字产生兴趣:为什么它们被称为“阿拉伯数字”呢?于是,他就去问妈妈:“0—9既然叫‘阿拉伯数字’,那肯定是阿拉伯人。
  • 国家队五郎第九话(国家队第十四集解读)
  • 2024-11-22国家队第十四集解读大家好,欢迎收看最新一期的拾部次元,在这期内容当中拾部君将会给大家带来“国家队”这部动画第14集的亮点介绍回顾第13集的回忆片段,我们解开了广与满产生矛盾的源头正是这记忆的操纵也解释了为何02急迫地变。
  • 哈尔滨师范大学研究生难度
  • 2024-11-22哈尔滨师范大学研究生难度哈尔滨师范大学研究生的难度不大哈尔滨师范大学不在大学考研难度排名前100名单之内考研难不难是要看看招生院校所在地区、名气、院校排名等,因为报考生源的不同,竞争力度也不同。
  • 夏目友人帐所有剧场版名称(夏目友人帐剧场版)
  • 2024-11-22夏目友人帐剧场版生活在《夏目友人帐》的世界里,做一个妖怪是不错的选择在落英缤纷时,和妖怪伙伴们踏青出游,在河边喝醇香的酒;心情不爽时,就吓一吓路过的人类出气,还能化身成一只可爱的猫咪,眯着眼睛蜷缩在心爱少年的怀抱里对。
  • 最佳上镜女孩赵樱子(擦边叫陌生人)
  • 2024-11-22擦边叫陌生人赵樱子(赵韩樱子,Sarah,1990年12月16日-),出生于山东省烟台市,毕业于中央戏剧学院,中国内地女演员、模特2011年,在都市剧《就让咖啡有点甜》中饰演谢明明,正式出道2012年,首次主演电。
  • 值是什么意思数学
  • 2024-11-22值是什么意思数学值的意思是数学上指演算所得结果值更[zhígēng]基本解释值更zhígēng〈方〉∶夜里值班巡视详细解释犹值夜杨朔《海天苍苍》:“有一个晚上,谢时恒的炮艇跟才良的停在一处时恒值更,才良也值更到半夜,。
  • 关于北京的句子(关于北京的优美句子)
  • 2024-11-22关于北京的优美句子北京是中华人民共和国这个沿门托钵的心脏北京图书馆的大门油饰一新,金碧辉煌我们来到天安门广场,只见那里人山人海,有的在拍照,有的在散步,有的在聊天我也要把所有的美景用相机给记录下来因为奥运的到来,天安门。
  • 黄胄画什么最出名(黄胄画马骏马奔驰)
  • 2024-11-22黄胄画马骏马奔驰徐悲鸿画的马几乎是家喻户晓,人们很喜欢,确实是好,徐老把马的精气神表现的淋漓尽致而今天要了解另外一位著名画家黄胄,黄胄是以画驴闻名于世的,但是这次要欣赏一下他画的马马是一种对人们友好的动物,擅长奔跑,。