VBreplace函數⽤法
今天想⽤vb中的replace 字符串替換函數,發現了⼀個問題
那就是替換後的字符串前部分會被截掉
⽬的把str中的234換成555
str=111234
find=234
str1=555
st=4
BARCODE = Replace(str, find, str1, st, 1)
結果BARCODE =555
前半部分被截掉
所以只能⽤left()函數截取前半部分然後+替換後的字符串
'将 A 替换为 x
'添加 Text1 Text2 Command1
Dim startc%, rcount%
Private Sub Form_Load()
Text1.Text = "123A456A789aBCDEA"
End Sub
Private Sub Command1_Click()
'********************** 第⼀种⽤法 *********************** ⽆条件全部替换
Text2.Text = Replace(Text1.Text, "A", "x")
'********************** 第⼆种⽤法 *********************** 从第⼀位开始只替换3次
'rcount = 3
'Text2.Text = Replace(Text1.Text, "A", "x", , rcount)
'********************** 第三种⽤法 *********************** 从前⾯算起第5位开始全部替换
'startc = 5
'Text2.Text = Left(Text1.Text, startc - 1) & Replace(Text1.Text, "A", "x", startc)
'********************** 第四种⽤法 *********************** 从前⾯算起第6位开始替换2次
'startc = 6
'rcount = 2
'Text2.Text = Left(Text1.Text, startc - 1) & Replace(Text1.Text, "A", "x", startc, rcount)
'********************** 第五种⽤法 *********************** 不分⼤⼩写的替换
'Text2.Text = Replace(Text1.Text, "a", "x", , , vbTextCompare)
End Sub
'******************************************************************************
Replace函数
描述
返回⼀个字符串,该字符串中指定的⼦字符串已被替换成另⼀⼦字符串,并且替换发⽣的次数也是指定的。 语法
Replace(expression, find, replacewith[, start[, count[, compare]]])
Replace函数语法有如下⼏部分:
部分 描述
expression 必需的。字符串表达式,包含要替换的⼦字符串。
find 必需的。要搜索到的⼦字符串。
replacewith 必需的。⽤来替换的⼦字符串。
字符串replace函数start 可选的。在表达式中⼦字符串搜索的开始位置。如果忽略,假定从1开始。
count 可选的。⼦字符串进⾏替换的次数。如果忽略,缺省值是 -1,它表明进⾏所有可能的替换。
compare 可选的。数字值,表⽰判别⼦字符串时所⽤的⽐较⽅式。关于其值,请参阅“设置值”部分。
设置值
compare参数的设置值如下:
常数 值 描述
vbUseCompareOption -1 使⽤Option Compare语句的设置值来执⾏⽐较。
vbBinaryCompare 0 执⾏⼆进制⽐较。
vbTextCompare 1 执⾏⽂字⽐较。
vbDatabaseCompare 2 仅⽤于Microsoft Access。基于您的数据库的信息执⾏⽐较。
返回值
Replace的返回值如下:
如果 Replace返回值
expression长度为零 零长度字符串("")。
expression为Null ⼀个错误。
find长度为零 expression的复本。
replacewith长度为零 expression的复本,其中删除了所有出现的find 的字符串。
start > Len(expression) 长度为零的字符串。
count is 0 expression.的复本。
说明
Replace函数的返回值是⼀个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的⼀段⼦字符串已经发⽣过替换动作。并不是原字符串从头到尾的⼀个复制。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论