Replace()函数实例讲解——vba


Replace函数
      

描述

返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。

语法

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

Replace函数语法有如下命名参数:

部分 描述 
expression 必需的。字符串表达式,包含要替换的子字符串。 
find 必需的。要搜索到的子字符串。 
replace 必需的。用来替换的子字符串。 
start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。 
count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 –1,它表明进行所有可能的替换。 
compare 可选的。数字值,表示判别子字符串时所用的比较方式。关于其值,请参阅“设置值”部分。 

设置值

compare参数的设置值如下:

常数 值 描述 
vbUseCompareOption –1 使用Option Compare语句的设置值来执行比较。 
vbBinaryCompare 0 执行二进制比较。 大小写视为不同,省略此项则默认为0。
vbTextCompare 1 执行文字比较,大小写视为相同。 
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。 

返回值

Replace的返回值如下:

如果 Replace返回值 
expression长度为零 零长度字符串("")。 
expression为Null 一个错误。 
find长度为零 expression的复本。 
replace长度为零 expression的复本,其中删除了所有出现的find 的字符串。 
start > Len(expression) 长度为零的字符串。 
count is 0 expression的复本。 

说明

Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
 

vba.Replace 共有6个参数,后面有些参数是可以省略不填的

replace(Expression,Find,Replace,Start,Count,CompareMethod)

'Expression:(被搜索的字符串-在哪儿找)

'Find:找什么(将被替换掉的部分)

'Replace:替换成什么 (替换后的内容)

'Start:从第几个字符开始找

'Count:替换多少次

'CompareMethod:对比或匹配方式

以下是示例代码:

Sub Replace函数测试()

Dim strSrc As String
Dim strDest As String
strSrc = "张三张三张三"

'简单使用示例?
strDest = Replace(strSrc, "张", "王")
'把str中的"张"全部替换为"王"
'strDest 会被替换成"王三王三王三"
MsgBox strDest

'从指定字符开始替换?
strDest1 = Replace(strSrc, "张", "王", 3)
'第四个参数说明从第3个字符开始替换,替换结果会舍掉前两个字符。
'strDest会被替换成"王三王三"
MsgBox strDest1

'从指定字符开始,替换几次
strDest2 = Replace(strSrc, "张", "王", 3, 1)
'第五个参数是替换次数,默认是替换全部,设置为1的话,就只替换第一次出现的"张";
'这句代码的意思是从第3个开始的第1个a
'strDest会被替换为"王三张三"
MsgBox strDest2

'二进制替换与文本替换
strSrc = "f1f1f1"
strDest3 = Replace(strSrc, "F", "D", , , vbBinaryCompare)
'最后一个参数为vbBinaryCompare (二进制匹配)时,用二进制对比,这个是区分大小写;结果为"f1f1f1"
strDest = Replace(strSrc, "F", "D", , , vbTextCompare)
'最后一个参数为vbTextCompare(文本匹配)时,用文本方式对比,这个不区分大小写;结果为"D1D1D1"

MsgBox strDest3

End Sub

 结果如下:

Replace()函数实例讲解——vba_第1张图片

你可能感兴趣的:(函数(VBA),vba)