龙空技术网

从字符串中删除特定字符

VBA语言専攻 523

前言:

如今小伙伴们对“vb取字符串中的字符”大约比较重视,看官们都需要了解一些“vb取字符串中的字符”的相关内容。那么小编同时在网摘上收集了一些对于“vb取字符串中的字符””的相关内容,希望大家能喜欢,看官们一起来了解一下吧!

【分享成果,随喜正能量】如河驶流,往而不返,人命如是,逝者不还。是日已过,命亦随减,如少水鱼,斯有何乐!当勤精进,如救头燃,但念无常,慎勿放逸。。

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

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

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

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

1 从字符串中删除特定字符

从字符串中删除字符最基本的方法是利用替换函数Replace,我们先看一下这个方法的语法。

Replace 函数:返回一个字符串, 它是从起始位置 (默认值为 1) 开始的字符串表达式的子字符串, 其中指定的子字符串已被另一个子字符串替换为指定的次数。

语法:Replace(expression, find, replace, [ start, [ count, [ compare ]]])

参数:

1)expression 必需。包含要替换的子字符串的字符串表达式。

2)find 必需。 要搜索的子字符串。

3)replace 必需。 替换子字符串。

4)start 可选。要搜索的字符串在expression的起始位置。如果省略,则假定此值为 1。

5)count 可选。要执行子字符串替换的次数。 如果省略, 则默认值为-1, 表示进行所有可能的替换。

6)compare 可选。 指示计算子字符串时使用的比较类型的数值。

compare 参数可以包含以下值:

1)vbUseCompareOption -1 使用Option Compare语句的设置来执行比较。

2)vbBinaryCompare 0 执行二进制比较。

3)vbTextCompare 1 执行文本比较。

4)vbDatabaseCompare 2 仅用于 Microsoft Access。根据数据库中的信息执行比较。

Replace 将返回以下值:

1) expression 是零长度的 返回零长度字符串 ("")

2) expression 是 Null 返回错误。

3) find 是零长度 返回expression 的副本。

4) replace 是零长度 expression的副本,所有出现的find都已删除。

5) start > Len(expression) 零长度字符串。 字符串替换从start指示的位置开始。

6) count 是 0 expression 的副本。

实例一:区分大小写替换

我们先举个实例,这个实例中我们希望从字符串"aabbccAABBCC"中删除所有的自符串"b",我们预期输出为"aaccAABBCC"。在下面代码的第 6 行中,Replace方法查找"b",并将其替换为空字符串""。下面看我给出的代码:

Sub mynzA()

Dim myInput As String

Dim myResult As String

myInput = "aabbccAABBCC"

'从输入字符串中删除所有出现的"b"

myResult = Replace(myInput, "b", "")

MsgBox myResult

End Sub

代码截图:

代码讲解:myResult = Replace(myInput, "b", "") 就是利用了Replace函数查找"b",并将其替换为空字符串""。

代码输出的效果:

输出的结果是符合我们最初预期的。但是,这种采用替换的方法只有小写"b"字符被删除,而不是"B"。我们可以修改代码实现自动处理大小写两种情况。

(待续)

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

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

【分享成果,随喜正能量】世上最愚蠢的行为就是不停给人讲道理,成年人应该记住:位置不同,少言为贵。认知不同,不争不辩,三观不同,浪费口舌。

标签: #vb取字符串中的字符 #字符串处理函数的头文件 #vb判断字符串中是否包含某个字符 #vb取出字符串中的字符 #vb删除代码怎么写