VB replace 函數用法


今天想用vb中的replace 字符串替換函數,發現了一個問題

那就是替換後的字符串前部分會被截掉

目的把str中的234換成555

str=111234

find=234

str1=555

st=4

BARCODE = Replace(str, find, str1, st, 1)

結果BARCODE =555

前半部分被截掉

所以只能用left()函數截取前半部分然後+替換後的字符串


http://hi.baidu.com/cbm666/blog/item/e43676098d5e26ad2fddd420.html

'将 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 必需的。用来替换的子字符串。 
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字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。

你可能感兴趣的:(数据库,command,Microsoft,null,Access,vb)