Replace 刪除、替換函數精解示例
'*************************************************************************
'**模 塊 名:Replace函數精解示例
'**說 明:藍鳳凰設計商城 浴火鳳凰-郭衛 | 藍鳳凰-魔靈 | 郭衛-icecept
'**創 建 人:浴火鳳凰-郭衛
'**日 期:2015年10月11日 12:00:13
'**修 改 人:浴火鳳凰-郭衛
'**日 期:
'**描 述:QQ:493405998 | 微信\旺旺:icecept
'**版 本:V1.0.0 | http://blog.sina.com.cn/icecept
'*************************************************************************
Option Explicit
'Replace: 將字符串中的某些特定字符串替換為其他字符串
'格式:
'P = Replace$(原字符串, 被替換的字符串, 用作替換的字符串,[起始位置],[替換數量],[比較方式])
'特別注意:此函數的起始位置是幾,輸出時就從起始位置的位置開始到結尾輸出,起始位置前的字符被截斷。
'所以要想修改起始字符大于一且要保留起始位置前的字符,必須用left把起始位置之前的字符再獲取一次。
'Left(原字符串,起始位置-1) & Replace$(原字符串, 被替換的字符串, 用作替換的字符串,[起始位置],[替換數量],[比較方式])
Private Sub Command1_Click()
Dim startc As Integer, rcount As Integer
'********************** 第一種用法 *********************** 無條件全部替換
Debug.Print Replace$(Text1.Text, "A", "x")
'********************** 第二種用法 *********************** 從第一位開始只替換3次
Debug.Print Replace$(Text1.Text, "A", "x", , 3)
'********************** 第三種用法 *********************** 從前面算起第5位開始全部替換
Debug.Print Left$(Text1.Text, 4) & Replace$(Text1.Text, "A", "x", 5)
'********************** 第四種用法 *********************** 從前面算起第6位開始替換5次
Debug.Print Left$(Text1.Text, 4) & Replace$(Text1.Text, "A", "x", 6, 5)
'********************** 第五種用法 *********************** 不分大小寫的替換
Debug.Print Replace$(Text1.Text, "a", "x", , , vbTextCompare)
'********************** 第六種用法 *********************** 分大小寫的替換
Debug.Print Replace$(Text1.Text, "a", "x", , , vbBinaryCompare)
End Sub
'替換或刪除相同字符
Private Sub Command2_Click()
Dim a As String, b As String, c As String
Dim i As Integer
a = "0123456789"
b = "346"
For i = 1 To Len(b)
'分別取子字符串中的一個字符刪除原字符串中的字符
a = Replace$(a, Mid$(b, i, 1), vbNullString)
Next
Debug.Print a
'輸出結果為: 0125789
End Sub
'替換或刪除指定字符
Private Sub Command3_Click()
Dim x As String
x = "VB is very good"
Debug.Print Replace$(x, "good", "nice")
'輸出結果為: "VB is very nice"
End Sub
Private Sub Command4_Click()
Dim strA As String
Dim strB() As String
Dim strC As String
Dim strD As String
strA = "aa bb cc"
strB = Split(strA, Space$(1))
strC = Join(strB, vbNullString)
'----------------------------------------
Do While InStr(strA, " ") <> 0
strA = Replace$(strA, " ", " ")
Loop
Debug.Print strA, strC '此行輸出 aa bb cc aabbcc
Debug.Print Replace$(strA, Space$(1), Empty) '此行輸出aabbcc
End Sub

浙公網安備 33010602011771號