Funkcja Replace

Zastępuje jeden ciąg innym.

Składnia:


       Replace (Expression As String, Find As String, Replace As String [, Start = 1 [, Count = -1 [, Compare = True]]]) As String
    

Gdy trzeba przekazać mniej parametrów, użyj argumentów słów kluczowych. Przekazywanie wartości dla mniejszej liczby parametrów według pozycji wymaga podania wartości dla wszystkich parametrów przed nimi, opcjonalnych lub nie. Zapewnia to, że wartości znajdują się we właściwych pozycjach. Jeśli przekazujesz parametry według nazwy – używając argumentów słów kluczowych – możesz pominąć wszystkie inne argumenty pośrednie.

Zwracana wartość:

Ciąg

Parametry:

Expression: Dowolne wyrażenie łańcuchowe, które chcesz zmodyfikować.

Find: Dowolne wyrażenie łańcuchowe, które ma zostać wyszukane.

Replace: Dowolne wyrażenie tekstowe, które zastąpi znaleziony ciąg wyszukiwania.

Start: Opcjonalne wyrażenie numeryczne wskazujące pozycję znaku, w której rozpoczyna się wyszukiwanie, a także początek podłańcucha, który ma zostać zwrócony.

Count: Opcjonalna maksymalna liczba operacji wymiany. Po ustawieniu na -1 wykonywane są wszystkie możliwe zamiany.

Compare: Opcjonalne wyrażenie logiczne określające typ porównania. Wartość tego parametru może być True lub False. Domyślna wartość True określa porównanie tekstu, w którym nie jest rozróżniana wielkość liter. Wartość False określa porównanie binarne, w którym rozróżniana jest wielkość liter. Równie dobrze możesz użyć 0 zamiast False lub 1 zamiast True.

Kody błędów:

5 Nieprawidłowe wywołanie procedury

Przykład:


        MsgBox Replace ("aBbcnnbnn", "b", "$", 1, 1, False)  'zwraca "aB$cnnbnn"
        REM znaczenie: "b" należy zastąpić, ale
        REM * tylko gdy małe litery (compare=False), stąd drugie wystąpieni "b"
        REM * tylko pierwsze wystąpienie (odnoszące się do wielkości liter) (count=1)
        MsgBox Replace ("ABCDEFGHI", "E", "*", 4)
        REM zwraca D*FGHI, ponieważ wyszukiwanie rozpoczyna się od pozycji 4, która jest również początkiem zwróconego łańcucha.
        MsgBox Replace("aBbcnnbnn", "b", "$£", compare:=False)  'zwraca "aB$£cnn$£nn"
        REM Zamień wszystkie (count = -1) "b" na "$£" z uwzględnieniem wielkości liter (compare=False) i od pierwszej litery (start=1)
    

Prosimy o wsparcie!