• Funkcja Replace
Bardzo często mamy tekst, który nie spełnia naszych oczekiwań i chcemy jego zawartość dostosować do swoich potrzeb. Potrzebujemy zmienić średniki na przecinki, lub przecinki na średniki, usunąć znaki końca linii, podwójne czy też potrójne spacje zamienić na pojedynczą, zamienić polskie znaki diakrytyczne na ich odpowiedniki bez kropek, kresek i ogonków, bądź po prostu w tekście zrobiliśmy błąd ortograficzny który powieliliśmy w wielu miejscach i chcemy go poprawić.
Składnia funkcji Replace
Funkcja Replace wyszukuje w przekazanym ciąg znaków (tekście) określony znak (ciąg znaków) i zastępuje go nowym znakiem lub ciągiem znaków.
Replace(expression As String, find As String, replace As String, [start As Long = 1], [count As Long = -1],
[compare As VbCompareMethod = vbBinaryCompare]) As String
Funkcji Replace ma następujące nazwane argumenty
:
Argument | Opis |
---|---|
expression | Argument obowiązkowy. Wyrażenie znakowe
które może zawierać znak (ciąg znaków) do zamiany
|
find | Argument obowiązkowy. Znak lub ciąg znaków przeznaczony do zamiany |
replace | Argument obowiązkowy. Znak lub ciąg znaków który ma być zamieniony na szukany znak (ciąg znaków) |
start | Argument nieobowiązkowy. Wartość domyślna 1. Numer znaku w ciągu wejściowym od którego ma być
rozpoczęte wyszukiwanie znaku (ciągu znaków) do zamiany. Uwaga. Dla wartości większej od 1 funkcja ucina pierwsze (start-1) znaków . |
count | Argument nieobowiązkowy określający ilość zamian ciągów ma zostać wykonana. Dla domyślnej wartość -1 zamienione zostaną wszystkie wystąpienia szukanego znaku (ciągu znaków) |
compare | Argument nieobowiązkowy. Wyrażenie numeryczne określające sposów porównywania ciągów znaków.
Jeśli argument compare jest równy Null, wystąpi błąd.
|
Argument compare może przyjmować wartości:
Stała | Wartość | Opis |
---|---|---|
vbUseCompareOption | -1 | Porównanie ciągów znaków wykonane zostanie zgodnie z ustawieniami instrukcji Option Compare. |
vbBinaryCompare | 0 | Wartość domyślna. Oznacza porównanie binarne, rozróżniane są wielkie i małe litery. |
vbTextCompare | 1 | Porównanie tekstowe. Wielkość liter nie ma znaczenia |
vbDatabaseCompare | 2 | Wartość 2 ma sens tylko przy korzystaniu z bazy danych Microsoft Access i służy do przeprowadzenia porównania na podstawie informacji zawartej w bazie danych |
Uwaga. Powyższe stałe są zdefiniowane przez Visual Basic for Applications i mogą być stosowane w dowolnym miejscu kodu programu zamiast ich rzeczywistych wartości.
Zwracane wartości
Funkcja Replace wyszukuje w przekazanym ciąg znaków Expression znak (ciąg znaków) Find i zastępuje go znakiem lub ciągiem znaków replace. Zwraca ciąg znaków z wprowadzonymi zamianami, rozpoczynający się od pozycji określonej przez argument start aż do końca ciągu. Zwracany ciąg nie jest kopią wejściowego ciągu od początku do końca. Bardzie szczegółowy opis zwracanych wartości przez funkcję Replace znajduje się poniżej:
Jeżeli | Funkcja Replace zwraca |
---|---|
expression jest ciągiem zerowej długośći "" | Zwraca ciąg zerowej długośći "" |
expression ma wartość Null | Zgłaszany jest błąd wykonania nr 94 „Nieprawidłowe użycie Null” |
find jest ciągiem zerowej długośći "" | Zwraca kopię ciągu expression |
replace jest ciągiem zerowej długośći "" | Zwraca ciąg expression z usuniętymi wszystkimi wystąpieniami ciągu find |
start > 1 | Zwraca przekształcony ciąg expression począwszy od znaku start |
start > Len(expression) | Zwraca ciąg zerowej długośći "" |
count = 0 | Zwraca kopię ciągu expression |
Słownik użytych terminów.
- • argument
- Stała, zmienna lub wyrażenie przekazywane do procedury.
- • nazwany argument
-
Argument o nazwie wstępnie zdefiniowanej w bibliotece obiektowej. Zamiast podawania wartości argumentów w porządku
ustalonym przez składnię, można użyć nazwanych argumentów, aby móc przypisać wartości w dowolnym porządku.
Na przykład, załóżmy że dana jest metoda przyjmująca trzy argumenty:
JakasFunkcja
nazwany_arg1, nazwany_arg2, nazwany_arg3JakasFunkcja
nazwany_arg3 := 4, nazwany_arg2 := 5, nazwany_arg1 := 20 - • wyrażenie znakowe
-
Dowolne wyrażenie o wartości stanowiącej sekwencję następujących po sobie znaków. Do elementów wyrażenia znakowego
może należeć funkcja zwracająca ciąg znaków, literał znakowy, stała znakowa, zmienna znakowa, ciąg znaków typu Variant
lub funkcja zwracająca ciąg znaków typu Variant (VarType = 8 (
vbString
). - • wyrażenie numeryczne
- Każde wyrażenie, które daje w wyniku liczbę. Może być to kombinacja zmiennych, stałych, funkcji i operatorów.