Replace 函式

傳回其指定子字串已被另一個子字串以指定次數取代的字串。

語法

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

引數:

  • Expression必要。包含要取代之子字串的字串表示式。
  • Find必要。要搜尋的目標子字串。
  • Replacewith必要。取代子字串。
  • Start選擇性。表示式內開始子字串搜尋的位置。如果省略,則會假設為 1。必須與 count 一起使用。
  • Count選擇性。要執行的子字串替代數。如果省略,則預設值為 -1,表示替代所有可能的子字串。必須與 start 一起使用。
  • Compare選擇性。指出評估子字串時要使用之比較類型的數值。如需相關值,請參閱「設定值」區段。如果省略,則預設值為 0,表示執行二進位比較。
  • 設定值:Compare 引數可具有下列值:

    表格 11-19 比較常數與描述

    常數 描述
    vbBinaryCompare 0 執行二進位比較
    vbTextCompare 1 執行文字比較

傳回值

Replace 會傳回下列值:

表格 11-20 Replace 傳回值

如果 Replace 會傳回
expression 的長度為零 長度為零的字串 ("")
expression 為 Null 錯誤
find 的長度為零 expression 的副本
replacewith 的長度為零 expression 的副本,並移除所有出現的 Find 子字串
start > Len (expression) 長度為零的字串
count 為 0 expression 的副本

備註

Replace 函式的傳回值是已取代的字串,從 Start 指定的位置開始,並在表示式字串結尾結束。它並非原始字串從頭到尾的副本。

下列範例使用 Replace 函式來傳回字串:

範例 1

' A binary comparison starting at the beginning of the string. 
Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y")
' Output: " XXYXXPXXY".

範例 2

' A textual comparison starting at position 4.
Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y", 4)
'Output: XXPXXY

範例 3

Dim MyString
MyString = Replace("XXpXXPXXp", "X", "Y", 1, 4)
'Output: YYpYYPXXp

範例 4

Dim MyString
MyString = Replace("XxpXxPXxp", "X", "Y", 1, -1, 0)
'Output: YxpYxPYxp
MyString = Replace("XxpXxPXxp", "X", "Y", 1, -1, 1)
'Output: YYpYYPYYp

範例 5

Dim MyString2
MyString2 = Replace("XXpXXPXXp", "p", "")
' Output: "XXXXPXX".

範例 6

Dim MyString4
MyString4 = Replace("XXpXXPXXp", "p", "Y", 1, 0)
' Output: "XXpXXPXXp".

範例 7

Dim MyString5
MyString5 = Replace("XXpXXPXXp", "", "Y")
'Output: "XXpXXPXXp".