龙空技术网

字符串中删除指定长度及根据固定字符删除

VBA语言専攻 228

前言:

此时我们对“c语言删除字符串中的指定字符串”可能比较关注,我们都需要知道一些“c语言删除字符串中的指定字符串”的相关资讯。那么小编也在网上收集了一些有关“c语言删除字符串中的指定字符串””的相关文章,希望咱们能喜欢,姐妹们一起来学习一下吧!

【分享成果,随喜正能量】人生有可为之事,也有不可为之事。可为之事,当尽力为之,此谓尽性;不可为之事,当尽心从之,此谓知命。。

《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实践经验,全部浓缩在下面的各个教程中:

【分享成果,随喜正能量】永远没必要跟杠精争高下。赢了,你抬高了他的认知;输了,你一天的心情都会变糟;平了,浪费了你宝贵的时间。。

标签: #c语言删除字符串中的指定字符串 #c语言删除字符串中的字母 #c语言字符串删除指定字符 #c语言删除指定位置的指定字符