Okna.  Wirusy.  Laptopy.  Internet.  Biuro.  Narzędzia.  Kierowcy

Kontynuujemy więc lekcje Pascala dla początkujących. W ostatniej lekcji przyglądaliśmy się , ale tam wspomnieliśmy o znakach, więc zanim dokładnie przestudiujemy typ danych, dowiemy się o typie Char. Typ danych znaku Char— typ danych, którego wartością są pojedyncze znaki. Ten typ może zawierać tylko jeden znak (na przykład: „*”, „/”, „.”, „!” i inne). Każdy taki znak zajmuje 8 bitów pamięci; łącznie jest 256 znaków ośmiobitowych. Wszystkie znaki używane przez typ znaku Char są zapisywane w tabeli znaków ASCII (American Standard Code for Information Interchange).

Stałe znakowe są ujęte w apostrofy, na przykład „.”, „*”, „7”, „s”. Możesz także zapisać stałą znakową, używając symbolu skrótu, na przykład #185 - spowoduje to wyświetlenie znaku o numerze 185 z tabeli ASCII (jest to znak „Nie”).

Istnieje 5 funkcji odnoszących się do typu znaku: Ord, Chr, Pred, Succ i Upcase.

Funkcja Ord konwertuje znak na jego kod numeryczny Tabele ASCII. Na przykład dla znaku „Nie” zwróci wartość 185. Funkcja Chr jest odwrotnością funkcji Ord. Funkcja Chr konwertuje kod numeryczny znaku na sam znak, np. jeśli przyjmiemy kod numeryczny 64, to funkcja Chr (64) zwróci znak „@”.

Przykładowy program w Pascalu wykorzystujący funkcję Ord:


Rozpocznij //Uruchomienie programu

writeln(ord(x)); //Wypisz liczbę w tabeli ASCII
koniec. //Koniec programu

Przykładowy program w Pascalu wykorzystujący funkcję Chr:

Var x:liczba całkowita; // Opis zmiennych (x - typ całkowity)
Rozpocznij //Uruchomienie programu
czytajln(x); //Odczyt zmiennej
writeln(chr(x)); //Wypisz znak według liczby w tabeli ASCII
koniec. //Koniec programu

Funkcja Pred zwraca wartość poprzedniego znaku z tablicy ASCII, przykładowo dla znaku „P” (Pred (P)) funkcja ta zwróci znak „O”. Funkcja Succ jest odwrotnością funkcji Pred. Dla znaku „P” funkcja Succ(P) zwróci znak „Q”, czyli kolejny znak z tabeli ASCII opisanej powyżej.

Przykład programu w Pascalu wykorzystującego funkcje Pred i Succ:

Var x:znak; // Opis zmiennych (x to typ znakowy)
Rozpocznij //Uruchomienie programu
czytajln(x); //Odczyt zmiennej
writeln(pred(x)); //Wypisz poprzedni znak z tabeli ASCII
writeln(succ(x)); //Wypisz następny znak w tabeli ASCII
koniec. //Koniec programu

Funkcja UpCase ma zastosowanie tylko do małych liter angielskich. Ta funkcja konwertuje małe litery angielskie litery wielkimi literami.

Przykładowy program w Pascalu wykorzystujący funkcję UpCase:

Dodatek do lekcji - Tablice znaków ASCII:

Lekcja na dzisiaj dobiegła końca. Pamiętaj o tym programowanie w Pascalu jest prosty i stanowi podstawę wielu języków programowania.

  • ASC () - funkcja ta umożliwia zwrócenie kodu numerycznego przekazanego znaku. Na przykład ASC("D") zwróci 68. Ta funkcja jest przydatna do określenia następnej lub poprzedniej litery. Zwykle używa się go w połączeniu z funkcją Chr(), która wykonuje operację odwrotną - zwraca znak zgodnie z przesłanym kodem numerycznym. Warianty tej funkcji to AscB() I AscW():
    • AscB () - zwraca tylko pierwszy bajt kodu numerycznego znaku.
    • AscW () - zwraca kod znaku w kodowaniu Unicode
  • Chr () - zwraca znak według jego kodu numerycznego. Może być używany w połączeniu z funkcją Asc(), ale najczęściej jest używany, gdy trzeba wydrukować znak usługi (na przykład cudzysłów - "), ponieważ Nie możesz po prostu wprowadzać cudzysłowów w kodzie VBA (musisz wstawić podwójnie). To jest funkcja, z której zwykle korzystam.

    Dim SWord As String SWord = Chr(34) & „Słowo w cudzysłowie” & Chr(34)

    Istnieją opcje tej funkcji - ChrB() I ChrW(). Działaj podobnie z tymi samymi opcjami dla funkcji Rosnąco().

  • InStr () I InStrRev () - jedna z najpopularniejszych funkcji. Umożliwia wykrycie znaku lub sekwencji znaków w treści zmiennej łańcuchowej i zwrócenie ich położenia. Jeśli sekwencja nie zostanie znaleziona, zwracane jest 0.

    Dim sStr As String sStr = "w" If InStr(1, "Hello, World!", sStr, vbTextCompare) > 0 then MsgBox "Wyszukiwane słowo jest obecne!"

    Else MsgBox "Brak szukanego słowa!"

  • Zakończ jeśli () , Różnica pomiędzy funkcjami polega na tym, że InStr() wyszukuje podane słowo od początku linii, a InStrRev() od końca linii () , Lewy () Prawidłowy
    Średni

    - możliwość pobrania określonej przez Ciebie liczby znaków z istniejącej zmiennej łańcuchowej odpowiednio po lewej, prawej lub środkowej stronie.

  • Dim sStr As String sStr = "Witaj, świecie!" () MsgBox Mid(sStr, 1, 5)
  • Dim sStr As String sStr = "Witaj, świecie!" () I MsgBox Mid(sStr, 1, 5) () Len - możliwość uzyskania liczby znaków w linii. Często używane z pętlami, operacjami zamiany itp. LPrzypadek UPrzypadek.
  • - przesuń linię w dół i () I wielkie litery () - możliwość wypełnienia jednej zmiennej symbolami drugiej bez zmiany jej długości (odpowiednio lewy i prawy). Dodatkowe znaki są obcinane, a brakujące znaki zastępowane są spacjami.
  • LPrzytnij () , RPrzytnij () , Przycinać () - możliwość usuwania spacji odpowiednio po lewej, prawej stronie lub po lewej i prawej stronie.
  • Zastępować () - możliwość zamiany jednego ciągu znaków w ciągu znaków na inny.
    Dim sStr As String sStr = "Witaj, świecie!"

    MsgBox Zamień(sStr, "Witam", "Zatoka" )

  • Dim sStr As String sStr = "Witaj, świecie!" () MsgBox Zamień(sStr, „Witam”, „Zatoka”)
    Przestrzeń - pobierz ciąg znaków z określonej liczby spacji; () Inną podobną funkcją jest
  • Specj () , który służy do formatowania danych wyjściowych konsoli. Mnoży spacje w oparciu o szerokość wiersza poleceń.
  • StrComp () - możliwość porównania dwóch ciągów znaków. StrKonw:
    - możliwość konwersji ciągu znaków

    (do Unicode i odwrotnie, do wielkich i małych liter, pierwsza litera słowa jest wielka itp.)

    Dim sStr As String sStr = "Witaj, świecie!"

    • MsgBox StrConv("Witaj, świecie!", vbUpperCase) Dim sStr As String sStr = "Witaj, świecie!"
    • MsgBox StrConv("Witaj, świecie!", vbUpperCase) Jako drugi parametr parametru można zastosować stałe:
    • vbWielkie litery: Konwertuje wszystkie znaki tekstowe na WIELKIE
    • *vbDolna litera: Konwertuje wszystkie znaki tekstowe na małe litery
    • *vbProperPrzypadek: Konwertuje pierwszy znak każdego słowa na wielkie litery
    • **vbSzeroki: Konwertuje znaki ciągu z jednobajtowego na dwubajtowe
    • **vbWąskie: Konwertuje znaki ciągu z dwubajtowego na jednobajtowy
    • ***vbKatakana: Konwertuje znaki Hiragana na znaki Katakana
    • ***vbHiragana: Konwertuje znaki Katakana na znaki Hiragana
    • vbUnikod:
      Konwertuje ciąg na Unicode przy użyciu domyślnej strony kodowej systemu
      vbZ Unicode: Konwertuje ciąg Unicode na domyślną stronę kodową systemu* dotyczy lokalizacji Dalekiego Wschodu

  • ** Dotyczy tylko Japonii () *** nieobsługiwane systemy operacyjne działającego Macintosha StrRewers
  • - „odwróć” ciąg znaków, umieszczając w nim jego znaki () to kolejna funkcja używana do formatowania danych wyjściowych konsoli. Reprodukuje znaki tabulacji w określonej liczbie. Jeśli nie określono ilości, po prostu wstawia znak tabulacji. Możesz także użyć tej stałej, aby wstawić znak tabulacji do wartości ciągu vbTab.
  • Smyczkowy () - pozwala uzyskać ciąg o określonej liczbie znaków (które ponownie są określone przez Ciebie). Zwykle używane do formatowania danych wyjściowych w połączeniu z funkcją Dim sStr As String sStr = "Witaj, świecie!"().

Często linie w programie zawierają niepotrzebne białe znaki na końcu lub na początku linii, które należy usunąć, ponieważ Niepotrzebne spacje początkowe lub końcowe w linii mogą powodować problemy z programem.

VBA ma trzy funkcje przeznaczone do usuwania spacji początkowych i końcowych z ciągu: LPrzytnij, RPrzytnij, Przytnij. Należy pamiętać, że te funkcje w rzeczywistości nie modyfikują oryginalnego ciągu, ale raczej zwracają kopię ciągu z usuniętymi dodatkowymi spacjami.

Określanie długości sznurka

Długość łańcucha z reguły musi być znana przy formatowaniu wiadomości dla użytkownika lub przy formatowaniu danych tekstowych wprowadzanych przez procedurę do procesu roboczego. Arkusz Excela Lub Dokument Worda. VBA używa tej funkcji do tych celów Dim sStr As String sStr = "Witaj, świecie!". W poniższym zestawieniu pomiędzy nawiasami a słowem znajdują się dwie spacje.



Należy zachować ostrożność w przypadku ciągów o stałej długości. Ponieważ ciąg o stałej długości ma zawsze tę samą długość, funkcja Len zawsze zwraca zadeklarowaną długość ciągu, niezależnie od jego rzeczywistej długości. Na przykład, jeśli zmienna łańcuchowa StrokeName o stałej długości, która ma 15 znaków, w rzeczywistości zawiera słowo „słońce”, wówczas funkcja Len (nazwa obrysu) zwróci wynik 15. W tym przypadku, aby dowiedzieć się, jaka jest rzeczywista długość ciągu (w naszym przypadku - 6), musisz użyć następującej kombinacji funkcji: Len(Trim(Nazwa Obrysu)).

Porównywanie i wyszukiwanie ciągów

VBA ma dwie funkcje, które pomagają porównać ciągi znaków: StrComp, InStr.

Funkcja StrComp

Składnia


StrComp(String1, String2[, Porównaj])


String1, String2 - dowolne dwa wyrażenia łańcuchowe, które należy porównać.

Po wykonaniu StrComp zwracana jest jedna z następujących wartości:

  • -1 jeśli Ciąg1 jest mniejszy niż Ciąg2;
  • 0, jeśli String1 i String2 są równe;
  • 1, jeśli String1 jest większy niż String2.


Powyższa lista porównuje dwa ciągi w trybie tekstowym: „Ciąg domyślny” i „Ciąg domyślny”. Wynik porównania = 1, tj. „Ciąg domyślny” jest większy niż „Ciąg domyślny”.

Eksperymentuj z różnymi ciągami, aby lepiej zrozumieć, jak działa funkcja StrComp.

Funkcja InStr

Funkcja InStr pozwala określić, czy jeden ciąg zawiera inny ciąg.

Składnia


StrComp(String1, String2[, Porównaj])


String1, String2 - dowolne prawidłowe wyrażenia łańcuchowe. Funkcja sprawdza, czy String1 jest zawarty w String2.

Porównaj to opcjonalny argument, który może być dowolną z następujących predefiniowanych stałych (jeśli zostanie pominięty, użyte zostanie bieżące ustawienie Option Compare):

  • vbBinaryCompare - binarne porównanie dwóch ciągów znaków;
  • vbTextPorównaj - porównanie tekstu dwie linie;
  • vbDatabaseCompare — używany tylko w programie Microsoft Access.

Start - argument opcjonalny, jest wyrażeniem numerycznym i określa pozycję znaku w String1, od którego powinno rozpocząć się sprawdzanie.


InStr zwraca liczbę wskazującą pozycję znaku w String1, w którym znaleziono String2. Jeśli InStr nie znajdzie String2 w String1, zwracane jest 0. Jeśli String1 (lub String2) ma wartość Null, wówczas funkcja również zwraca Null.



Podział linii

Czasami konieczne jest podzielenie ciągu na części składowe. W VBA trzy funkcje rozwiązują ten problem: Lewo, prawo, środek.

Funkcja lewa

Składnia


Lewy (sznurek, długość)


Funkcja zwraca kopię ciągu, zaczynając od pierwszego znaku i uwzględniając liczbę znaków określoną przez Długość. Jeśli Długość jest liczbą większą niż rzeczywista długość ciągu, zwracane jest całe wyrażenie typu String.

Właściwa funkcja

Składnia


Prawa (sznur, długość)


Ciąg to dowolne prawidłowe wyrażenie łańcuchowe.

Długość - dowolna wartość liczbowa.


Funkcja zwraca kopię ciągu, zaczynając od ostatniego znaku i uwzględniając, od prawej do lewej, liczbę znaków określoną przez Długość. Jeśli Długość jest liczbą większą niż rzeczywista długość ciągu, zwracane jest całe wyrażenie typu String. Funkcja Right zawsze kopiuje znaki z końca ciągu na początek.

Funkcja średnia

Składnia


Środek (Ciąg, Początek, [, Długość])


Ciąg to dowolne prawidłowe wyrażenie łańcuchowe.

Długość, Początek - dowolne wartości liczbowe.


Funkcja Mid zwraca kopię ciągu znaków, zaczynając od pozycji znaku w ciągu określonej przez argument Start. Opcjonalny argument Długość określa liczbę znaków do skopiowania z String do Mid. Jeśli Start zawiera większą liczbę niż rzeczywista długość ciągu, zwracany jest pusty ciąg.



Znaki, których nie można wprowadzić z klawiatury

Często zdarza się, że trzeba wpisać znak, dla którego nie ma klawisza na klawiaturze (na przykład symbol praw autorskich). Inna sytuacja ma miejsce, gdy zachodzi potrzeba umieszczenia w ciągu znaków znaku usługi VBA (najczęstszym przypadkiem jest użycie podwójnych cudzysłowów).

Aby w ciągu znaków uwzględnić znaki, których nie można wprowadzić z klawiatury lub które mają specjalne znaczenie w języku VBA, należy użyć funkcji Chr.

Składnia


Chr (kod znaku)


Charcode — dowolne wyrażenie numeryczne będące prawidłowym kodem zestawu znaków używanego przez komputer. Musi być liczbą całkowitą z zakresu od 0 do 255.

Funkcja Chr przyjmuje jako argument pojedynczy znak i zwraca ciąg znaków zawierający znak odpowiadający temu kodowi. Ta funkcja jest używana w powyższych zestawieniach do podawania linii podczas wyświetlania komunikatu na ekranie Chr (13).


Ponieważ znaki rozpoczynające nową linię są bardzo ważne podczas formatowania wiadomości i innych danych łańcuchowych manipulowanych przez procedury VBA, istnieje kilka predefiniowanych stałych dla tych znaków, aby uniknąć konieczności używania funkcji Chr:

  • vbCr jest znakiem powrotu karetki. Odpowiednik Chr(13)
  • vbLf - przesunięcie znaku o jedną linię. Odpowiednik Chr(10)
  • vbCrLf - powrót karetki + znak przesunięcia o jedną linię. Odpowiednik Chr(13) + Chr(10)
  • vbTab - znak tabulacji. Odpowiednik Chr(9).

Aby wyświetlić listę symbol kodu trzeba otworzyć systemu pomocy VBA i na zamówienie „zestawy znaków” zostanie wyświetlona odpowiednia tabela.



Formatowanie wartości danych

Bardzo często z tego czy innego powodu format danych wyjściowych programu nie do końca nam odpowiada. Problem ten rozwiązuje funkcja Format.

Funkcja Format VBA jest identyczna z funkcją Format w programie Excel i używa tych samych symboli zastępczych formatowania danych.

Składnia


Format (wyrażenie [, format [, pierwszy dzień tygodnia [, pierwszy tydzień roku]]])


Wyrażenie - dowolne prawidłowe wyrażenie (wymagany argument).

Format jest prawidłowym wyrażeniem nazwanego lub zdefiniowanego przez użytkownika formatu.

Firstdayofweek to stała określająca pierwszy dzień tygodnia.

Firstweekofyear - stała określająca pierwszy tydzień roku.


Aby skorzystać z funkcji Format, musisz: ustawić predefiniowany format, Lub utwórz obraz o określonym formacie, używając znaków zastępczych.


Nazwane formaty do użycia z funkcją Format

Nazwany format Działanie
Data ogólna Formatuje informacje o dacie i godzinie w kolejny numer daty, korzystając z ustawień formatu daty i godziny w komputerze.
Długa randka Formatuje tylko część zawierającą datę do postaci daty sekwencyjnej, korzystając z ustawień formatu daty długiej komputera.
Średnia data Formatuje tylko część daty jako datę sekwencyjną, korzystając z ustawień średniego formatu daty w komputerze.
Krótka randka Formatuje tylko część zawierającą datę na datę sekwencyjną, korzystając z ustawień komputera dotyczących formatu daty krótkiej.
Długo Formatuje tylko część czasu do postaci kolejnej daty, korzystając z ustawień formatu długiego czasu komputera.
Średni czas Formatuje tylko część czasu do daty sekwencyjnej, korzystając z ustawień średniego formatu czasu komputera.
Krótki czas Formatuje tylko część czasu w datę sekwencyjną, korzystając z ustawień komputera dotyczących formatu krótkiego czasu.
Numer ogólny Formatuje liczbę na ciąg znaków bez żadnych znaków specjalnych.
Waluta Formatuje liczbę z symbolem waluty, separatorem tysięcy i tylko dwoma miejscami po przecinku.
Naprawił Formatuje liczbę w taki sposób, że przed przecinkiem dziesiętnym zawsze znajduje się co najmniej jedna cyfra, a po nim co najmniej dwie cyfry.
Standard Formatuje liczbę z separatorem tysięcy w taki sposób, aby przed separatorem dziesiętnym znajdowała się co najmniej jedna cyfra, a po nim co najmniej dwie cyfry.
Procent Formatuje liczbę jako wartość procentową, mnożąc ją przez 100 i dodając symbol procentu.
Naukowy Formatuje liczbę do zwykłego formatu wykładniczego.
Tak/Nie Jeśli sformatowana liczba jest różna od zera, zwracany jest ciąg „Tak” lub „Nie”.
Prawda/Fałsz Jeśli sformatowana liczba jest różna od zera, zwracany jest ciąg „True”, w przeciwnym razie – „False”.
Wł./Wył Jeśli sformatowana liczba jest różna od zera, zwracany jest ciąg „On” lub „Off”.

Elementy zastępcze do tworzenia niestandardowych formatów

Znak zastępczy Akcja (na przykładzie numeru 1234.45)
0 Znak numeryczny wyświetlający cyfrę, jeśli znajduje się ona na tej pozycji, lub 0, jeśli jej nie ma. Symbolu 0 można używać do wyświetlania zer wiodących w przypadku liczb całkowitych i zer końcowych w przypadku miejsc dziesiętnych: 00000.000 wyświetla 01234.450
# Symbol numeryczny wyświetla cyfrę, jeśli znajduje się ona na tej pozycji, w przeciwnym razie nie wyświetla niczego. Znak wypełniający # jest równoważny 0, z tą różnicą, że zera początkowe i końcowe nie są wyświetlane: #####.### wyświetla 1234,45
$ Wyświetla znak dolara: $###,###.00 wyświetla 1234,45 USD
. Dziesiętny znak zastępczy, wyświetla przecinek dziesiętny w wyznaczonej pozycji w ciągu znaków zastępczych 0: #.##.## wyświetla 1234,45
% Symbol procentu, mnoży wartość przez 100 i dodaje znak procentu w miejscu wskazanym przez symbole zastępcze. 0:#.#0.00% wyświetla liczbę 0.12345 jako 12,35% (następuje zaokrąglenie)
, Separator tysięcy, dodaje przecinki jako separatory tysięcy w ciągach zastępczych 0 i #: ###,###,###.00 wyświetla 1234,45
E-e- Wyświetla wartość w formacie wykładniczym z wykładnikiem tylko dla wartości ujemnych: #.####E-00 wyświetla 1.23445E03
E+ e+ Wyświetla wartość w formacie wykładniczym z wykładnikiem zarówno dla wartości ujemnych, jak i dodatnich: #.####E+00 wyświetla 1.23445E+03
/ Oddziela dzień, miesiąc i rok w celu formatowania wartości dat.
M Określa sposób wyświetlania miesięcy w datach: m wyświetla 1, mm - 01, mmm - styczeń, mmmm - styczeń
D Określa sposób wyświetlania dni w datach: d wyświetla 1, dd - 01, ddd - niedziela, dddd - niedziela
y Wyświetla dzień roku jako liczbę od 1 do 366
yy Określa sposób wyświetlania lat w datach: rr - 66, yyyy - 1966
Q Wyświetla kwartał roku jako liczbę od 1 do 4
w Wyświetla dzień tygodnia jako liczbę (1 - niedziela)
www Wyświetla tydzień roku jako liczbę od 1 do 54
: Oddziela godziny, minuty i sekundy w wartościach formatu czasu: gg:mm:ss - 01:01:01, h:m:s - 1:1:1
H Określa sposób wyświetlania godzin: gg - 01, h - 1
M Określa sposób wyświetlania minut: mm - 01, m - 1
S Określa sposób wyświetlania sekund: ss - 01, s - 1
AM/PM Wyświetla czas w formacie 12-godzinnym z dodanym AM lub PM
@ Symbol zastępczy znaku wyświetlający spację, jeśli w sformatowanym ciągu nie ma pasującego znaku.
Wyświetla wszystkie znaki wielkimi literami.
> Wyświetla wszystkie znaki małymi literami.

Aby uprościć pracę z ciągami znaków, istnieje szereg wbudowanych funkcji, które znacznie ułatwiają takie operacje, jak konwersja ciągów na dane innego typu, wyszukiwanie podciągu w ciągu, określanie długości ciągu itp. W tym artykule przyjrzymy się najczęstszym funkcjom pracy z ciągami znaków.

1) Funkcja określająca długość łańcucha LENGTH(string), zwraca liczbę znaków w ciągu znaków łącznie ze spacjami na końcu.

WYBIERZ DŁUGOŚĆ („ciąg”) Z PODWÓJNEGO zwróci wartość 7.

2) Funkcje konwersji wielkości liter UPPER(string), LOWER(string), INITCAP(string). Aby zamienić znaki na wielkie litery, użyj funkcji UPPER().

WYBIERZ UPPER('string') FROM DUAL zwróci STRING.

Jeśli zachodzi potrzeba zamiany znaków ciągu na małe litery, należy skorzystać z funkcji LOWER().

SELECT LOWER('STRinG') FROM DUAL zwróci ciąg.

Funkcja INITCAP konwertuje każdy pierwszy znak słowa na wielkie litery, a wszystkie pozostałe znaki na małe litery, pod warunkiem, że znakiem oddzielającym słowa jest spacja.

WYBIERZ INITCAP('string1 string2') Z DUAL zwróci String1 String2.

3) Funkcje przycinania spacji początkowych i końcowych LTRIM(string), RTRIM(string), TRIM(string). Odpowiednio, pierwsza funkcja przycina wszystkie początkowe spacje ciągu, druga – wszystkie spacje końcowe, a trzecia – wszystkie spacje początkowe i końcowe.

WYBIERZ LTRIM('str1') FROM DUAL zwróci ciąg str1,
WYBIERZ RTRIM(‚str2”) Z DUAL zwróci ciąg str2,
WYBIERZ TRIM('str3') FROM DUAL zwróci ciąg str3.

4) Funkcja zamiany części łańcucha na inny ciąg REPLACE(oryginalny ciąg, zastąpiony_podciąg, zastępujący_podciąg). Dla większej przejrzystości spójrzmy na przykład, w którym liczba jest przechowywana w określonym polu tekstowym w tabeli. Ponadto znakiem oddzielającym część całkowitą od ułamkowej w niektórych polach jest „.”, a do dalszego przetwarzania danych potrzebujemy „”, we wszystkich polach. Aby to zrobić, użyjemy funkcji ZAMIEŃ w następujący sposób. REPLACE(pole1, `.', `,') i wszystkie „.” w polu pole zostanie zastąpione symbolem „,”.

WYBIERZ ZAMIEŃ('Mój_ciąg",'_','@') FROM DUAL zwróci ciąg Mój@ciąg.

5) Funkcje konwersji danych na inne typy danych. TO_CHAR(liczba) konwertuje liczbę na tekst. TO_NUMBER(string) konwertuje tekst na liczbę. TO_DATE(string, date_format) konwertuje ciąg znaków na określony format daty.

SELECT TO_CHAR(123) FROM DUAL zwróci wiersz 123,
SELECT TO_NUMBER('12345') FROM DUAL zwróci liczbę 12345,
SELECT TO_DATE('01.01.2010','dd.mon.yyyy') FROM DUAL zwróci datę 01.01.2010.

6) Funkcja określająca występowanie podciągu w ciągu INSTR (łańcuch_źródłowy, podciąg, numer_znaku). Funkcja ta umożliwia określenie numeru znaku w oryginalna linia od którego zaczyna się szukany podciąg (jeśli taki istnieje). W przeciwnym razie zwracane jest 0. Przykładowo musimy określić wszystkie pozycje w tabeli Tabela1, w nazwie której występuje podłańcuch „manager”. Poniższy operator jest do tego całkiem odpowiedni

WYBIERZ * Z TABELI 1, GDZIE INSTR(POST, 'menedżer', 1) > 0.

Oznacza to, że instrukcja SELECT wyświetli tylko te rekordy z tabeli TABELA1, w których znajdzie się szukany podłańcuch „manager”. Ponadto wyszukiwanie zostanie przeprowadzone od pierwszego znaku. Jeżeli wyszukiwanie ma zostać przeprowadzone z innej pozycji, to w trzecim parametrze wskazany jest numer znaku rozpoczynającego wyszukiwanie.

SELECT INSTR('Mały ciąg znaków', 'string', 1) FROM DUAL zwróci wartość 7,
SELECT INSTR('Mały ciąg znaków', 'String', 1) FROM DUAL zwróci wartość 0.

7) Funkcja wyboru podciągu w ciągu źródłowym SUBSTR (ciąg_źródłowy, numer_znaku_początkowego, liczba_znaków). Rozważmy taki przykład: tabela użytkowników przechowuje adres w postaci nazwy miejscowości, nazwy ulicy i numeru domu. Ponadto wiemy na pewno, że na nazwę miejscowości przeznaczono ściśle 20 znaków (jeśli nazwa miejscowości ma mniej niż 20 znaków, to resztę uzupełnia się spacjami), na nazwę ulicy 30 znaków, dla numer domu 3 znaki. Następnie musimy przenieść wszystkie adresy z naszej tabeli do drugiej, a jednocześnie wszystkie 3 składniki adresu muszą znajdować się w różnych polach. Aby wybrać składniki adresu, użyj funkcji SUBSTR().

WYBIERZ SUBSTR(TABELA_1.ADRES, 1, 20) MIASTO, SUBSTR(TABELA_1.ADRES, 21, 30) ULICA, PODSTR(TABELA_1.ADRES, 52, 3) MIASTO Z TABELI_1

Oczywiście do przesłania danych trzeba użyć operatora INSERT, ale żeby zrozumieć działanie funkcji SUBSTR, omawiany przykład jest całkiem odpowiedni.
SELECT SUBSTR('Mój_ciąg', 4, 3) FROM DUAL zwróci ciąg znaków.

Funkcje omówione powyżej można wykorzystać w parametrach wejściowych. Jeśli więc mamy wybrać wszystkie znaki po konkretnym, to możemy przekazać numer szukanego znaku z funkcji INSTR do funkcji SUBSTR. Na przykład, jeśli chcesz przenieść wszystkie znaki z pola tabeli znajdujące się po „,”, możesz użyć tej konstrukcji
WYBIERZ SUBSTR(Mój_ciąg, INSTR(Mój_ciąg, ',', 1), DŁUGOŚĆ(Mój_ciąg)- INSTR(Mój_ciąg, ',', 1)+1) Z DUAL.
Aby określić znak początkowy, wywołujemy funkcję INSTR(), która zwróci numer znaku pierwszego wystąpienia podciągów „,”. Następnie definiujemy liczbę znaków na końcu łańcucha jako różnicę między długością ciągu a numerem pierwszego wystąpienia podciągu.

8) Aby określić kod znaku, należy skorzystać z funkcji ASCII(string), która zwraca kod 1 znaku ciągu. Na przykład

WYBIERZ ASCII(W) Z PODWÓJNEGO zwróci wartość 87.

9) Funkcja odwrotna do konwersji kodu znaku na znak CHR (liczba).

SELECT CHR(87) FROM DUAL zwróci znak W.

Funkcje do pracy z liczbami w Oracle.

Oracle DBMS posiada szereg funkcji do pracy z liczbami. Należą do nich funkcje podnoszące liczbę do potęgi POTĘGA(), zaokrąglanie OKRĄG() itp.

1) Funkcja ABS(liczba) zwraca wartość bezwzględną argumentu.
WYBIERZ ABS(-3) Z DUAL zwróci wartość 3.

2) Funkcja CEIL(liczba) zwraca najmniejszą liczbę całkowitą większą lub równą przekazanemu parametrowi.
SELECT CEIL(4.5) FROM DUAL zwróci wartość 5.

3) Funkcja FLOOR(liczba) zwraca największą liczbę całkowitą mniejszą lub równą przekazanemu parametrowi.
WYBIERZ PIĘTRO(3.8) Z PODWÓJNEGO zwróci wartość 3.

4) Funkcja MOD(liczba_1, liczba_2) zwraca resztę z dzielenia pierwszego parametru przez drugi.
SELECT MOD(5, 3) FROM DUAL zwróci wartość 2. Uwaga. Jeśli drugi parametr ma wartość 0, funkcja zwraca pierwszy parametr.

5) Funkcja zaokrąglania ROUND(liczba_1, liczba_2). Zaokrągla pierwszy przekazany parametr do liczby cyfr przekazanych w drugim parametrze. Jeśli drugi parametr nie zostanie określony, przyjmuje się, że jest on równy 0, to znaczy zaokrąglanie odbywa się do wartości całkowitej. Przykłady
SELECT ROUND(101.34) FROM DUAL zwróci wartość 101,
WYBIERZ ROUND(100.1268, 2) FROM DUAL zwróci wartość 100.13
SELECT ROUND(1234000.3254, -2) FROM DUAL zwróci wartość 1234000,
WYBIERZ RUNĘ (-100,122, 2) Z PODWÓJNEGO zwróci -100,12.

6) Funkcja obcinania wartości TRUNC(liczba_1, liczba_2). Zwraca wartość pierwszego parametru obciętą do liczby miejsc dziesiętnych określonej w drugim parametrze. Przykłady
WYBIERZ TRUNC(150,58) FROM DUAL zwróci wartość 150
WYBIERZ TRUNC(235,4587, 2) Z DUAL zwróci 235,45
WYBIERZ TRUNC(101.23, -1) FROM DUAL zwróci wartość 100

7) Oracle DBMS posiada szereg funkcji trygonometrycznych SIN(liczba), COS(liczba), TAN(liczba) i ich odwrotności ACOS(liczba), ASIN(liczba), ATAN(liczba). Zwracają wartość funkcji trygonometrycznej odpowiadającej nazwie. W przypadku funkcji bezpośrednich parametrem jest wartość kąta w radianach, a w przypadku funkcji odwrotnych – wartość funkcji. Przykłady
WYBIERZ COS(0,5) Z DUAL zwróci wartość 0,877582561890373
WYBIERZ SIN(0,5) Z DUAL zwróci wartość 0,479425538604203
WYBIERZ TAN(0,5) Z DUAL zwróci wartość 0,546302489843791
WYBIERZ ACOS(0.5) Z DUAL zwróci wartość 1.0471975511966
WYBIERZ ASIN(0,5) FROM DUAL zwróci wartość 0,523598775598299
WYBIERZ ATAN(0.5) FROM DUAL zwróci wartość 0.463647609000806

8) Funkcje hiperboliczne. SINH(liczba),
COSH(liczba), TANH(liczba). SINH() zwraca sinus hiperboliczny przekazanego parametru, COSH() zwraca cosinus hiperboliczny przekazanego parametru, TANH() zwraca tangens hiperboliczny przekazanego parametru. Przykłady
WYBIERZ COSH(0.5) FROM DUAL zwróci wartość 1.12762596520638
SELECT SINH(0.5) FROM DUAL zwróci wartość 0.521095305493747 SELECT TANH(0.5) FROM DUAL zwróci wartość 0.46211715726001

9) Funkcja potęgowania MOC(liczba_1, liczba_2). Przykłady
SELECT POWER(10, 2) FROM DUAL zwróci wartość 100
WYBIERZ MOC(100, -2) Z PODWÓJNEGO zwróci wartość 0,0001

10) Funkcje logarytmiczne. LN(liczba) zwraca logarytm naturalny przekazanego parametru, LOG(liczba_1, liczba_2) zwraca logarytm drugiego parametru przekazanego do podstawy przekazanej do pierwszego parametru. Ponadto pierwszy parametr musi być większy od zera i różny od 1. Przykłady
WYBIERZ LN(5) Z PODWÓJNEGO zwróci wartość 1,6094379124341
WYBIERZ LOG(10, 3) Z DUAL zwróci wartość 0,477121254719662

11) Funkcja wysuwania pierwiastek kwadratowy KWRT(liczba). Przykład
WYBIERZ SQRT(4) Z PODWÓJNEGO zwróci wartość 2.

12) Funkcja podnosząca liczbę e do potęgi EXP(liczba). Przykład
SELECT EXP(2) FROM DUAL zwróci wartość 7,38905609893065.

Funkcje daty Oracle

W praktyce bardzo często konieczna jest analiza danych w postaci dat, wykonanie na nich pewnych operacji i zmiana formatu. Wszystkie te operacje są już zaimplementowane jako funkcje wbudowane. Przyjrzyjmy się najbardziej podstawowym z nich.

1) ADD_MONTHS(data, liczba_miesięcy) zwraca datę oddzieloną od daty podanej w pierwszym parametrze o liczbę miesięcy podaną w drugim parametrze. Przykłady
SELECT ADD_MONTHS('01-JAN-2010', 2) FROM DUAL zwróci datę '03.01.2010'
SELECT ADD_MONTHS('01-JAN-2010', -3) FROM DUAL zwróci datę '01.10.2009'
SELECT ADD_MONTHS('30-JAN-2010', 1) FROM DUAL zwróci datę '02/28/2010'

2) Aby określić aktualna data i czas, stosowana jest funkcja SYSDATE. Zakres zastosowania tej funkcji jest znacznie szerszy, niż mogłoby się wydawać na pierwszy rzut oka. Przede wszystkim jest to kontrola nad wprowadzaniem danych do bazy. Wiele tabel posiada osobne pole do przechowywania daty ostatniej modyfikacji. Bardzo wygodne jest także kontrolowanie niektórych parametrów wejściowych raportów, zwłaszcza jeśli nie powinny one być większe niż bieżąca data. Oprócz daty tę funkcję Zwraca również czas z dokładnością do sekund. Przykład
WYBIERZ SYSDATE Z DUAL zwróci datę „22.05.2010 14:51:20”

3) Jeśli chcesz określić ostatni dzień miesiąca, to funkcja LAST_DAY(data) jest do tego całkiem odpowiednia. Można go wykorzystać do określenia liczby pozostałych dni w miesiącu.
WYBIERZ LAST_DAY(SYSDATE) – SYSDATE Z DUAL.
W wyniku egzekucji tego operatora Wyświetlona zostanie liczba dni od aktualnej daty do końca miesiąca. Przykład
WYBIERZ LAST_DAY('15-LUT-2010') FROM DUAL zwróci datę '02/28/2010'.

4) Funkcja określająca liczbę miesięcy pomiędzy datami MONTHS_BETWEEN(data_1, data_2). Przykłady
WYBIERZ MIESIĄCE_BETWEEN('01-LIP-2009', '01-STYCZEŃ-2010') Z DUAL zwróci -6
WYBIERZ MIESIĄCE_BETWEEN('01-LIP-2009', '10-STYCZEŃ-2010') Z PODWÓJNEGO zwróci -6,29032258064516.
Notatka. Jeżeli dni miesięcy są takie same, funkcja zwraca liczbę całkowitą, w przeciwnym razie wynik będzie ułamkowy, a liczba dni w miesiącu wyniesie 31.

5) Funkcja NEXT_DAY(data, dzień_tygodnia) pozwala na wyznaczenie kolejnej daty z daty podanej w pierwszym parametrze, która odpowiada dniu tygodnia podanemu w drugim parametrze. Przykład
WYBIERZ NASTĘPNY DZIEŃ('01-LIP-2009', 'pon') FROM DUAL zwróci datę '07.06.2009', czyli następny poniedziałek po 1 lipca 2009 przypadający na 6-ty.

6) Zaokrąglanie daty ROUND(data, format). Drugi parametr jest opcjonalny; jeżeli nie zostanie określony, przyjmuje się go jako „DD”, co oznacza, że ​​zaokrąglenie zostanie wykonane do najbliższego dnia. Przykłady
SELECT ROUND(SYSDATE) FROM DUAL zwróci datę „23.05.2010”
SELECT ROUND(SYSDATA, MIESIĄC) FROM DUAL zwróci datę „01.06.2010”, zaokrągloną do najbliższego pierwszego dnia miesiąca.

7) Obcięcie daty. Funkcja TRUNC(data, format). Podobnie jak ten omówiony powyżej, może nie posiadać drugiego parametru. W takim przypadku obcięcie zostanie przeprowadzone do następnego dnia. Przykłady
WYBIERZ TRUNC(SYSDATE) Z DUAL zwróci datę „22.05.2010”
SELECT TRUNC(SYSDATE, „WW”) Z DUAL zwróci datę „01.05.2010”
WYBIERZ TRUNC(SYSDATE, „Dzień”) Z DUAL zwróci datę „16.05.2010”.

Funkcje konwersji danych w Oracle

Ta sekcja poświęcona jest rozważaniom dotyczącym konwersji danych do różnych formatów. W praktyce dość często zdarzają się sytuacje, gdy konieczne jest traktowanie wartości ciągów jako liczb i odwrotnie. Pomimo niewielkiej liczby funkcji, ich możliwości są w zupełności wystarczające do rozwiązywania bardzo złożonych problemów aplikacyjnych.

1) TO_CHAR(dane, format). Na pierwszy rzut oka składnia jest dość prosta, jednak dzięki drugiemu parametrowi można bardzo dokładnie opisać, na jaki format dane mają zostać przekonwertowane. Można więc przekonwertować zarówno datę, jak i wartość liczbową na ciąg znaków. Rozważ opcję konwersji daty na ciąg znaków. Wartości najpopularniejszych formatów podano w tabeli, pełniejsze informacje znajdują się w dokumentacji technicznej.

Tabela wartości formatu do konwersji liczby na ciąg znaków.

SELECT TO_CHAR(SYSDATE, 'D-MONTH-RR') FROM DUAL zwróci ciąg '7-MAJ -10'
SELECT TO_CHAR(SYSDATE, 'DDD-MM-RRRR') FROM DUAL zwróci ciąg '142-05-2010'
SELECT TO_CHAR(SYSDATE, 'Q-D-MM-RRRR') FROM DUAL zwróci ciąg '2-7-05-010'
WYBIERZ TO_CHAR(1050, '9.99EEEE) FROM DUAL zwróci ciąg '1.050E+03'
WYBIERZ TO_CHAR(1400, '9999V999') FROM DUAL zwróci ciąg '1400000'
SELECT TO_CHAR(48, 'RM') FROM DUAL zwróci ciąg 'XLVIII'

2) Funkcja konwertująca ciąg znaków na datę TO_DATE(string, format). Możliwe wartości formaty zostały już omówione powyżej, dlatego podam kilka przykładów wykorzystania tej funkcji. Przykłady
SELECT TO_DATE('01.01.2010', 'DD.MM.RRRR') FROM DUAL zwróci datę '01.01.2010'
SELECT TO_DATE('01.JAN.2010', 'DD.MON.RRRR') FROM DUAL zwróci datę '01.01.2009'
SELECT TO_DATE('15-01-10', 'DD-MM-RR') FROM DUAL zwróci datę '15.01.2010'.

3) Funkcja konwertująca ciąg znaków na wartość liczbową TO_NUMBER(string, format). Najpopularniejsze wartości formatów zostały wymienione w tabeli, dlatego przyjrzyjmy się zastosowaniu tej funkcji na przykładach. Przykłady
SELECT TO_NUMBER('100') FROM DUAL zwróci liczbę 100
WYBIERZ TO_NUMBER('0010.01', '9999D99') FROM DUAL zwróci liczbę 10.01
WYBIERZ DO_NUMBER("500 000","999G999") FROM DUAL zwróci liczbę 500000.

W tym artykule przeanalizujemy pracę z ciągami znaków w VBA na przykładach funkcji InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Zamień, Space, StrComp, String, StrReverse.

Ciągi znaków to sekwencja znaków, która może składać się z liter, cyfr, znaki specjalne lub ze wszystkich. Zmienna nazywana jest ciągiem znaków, jeśli jest ujęta w podwójne cudzysłowy "".

Składnia

nazwa zmiennej = „string”

Przykłady

Funkcje łańcuchowe

Istnieją predefiniowane funkcje VBA String, które pomagają programistom wydajnie pracować z ciągami. Poniżej znajdują się metody String obsługiwane w VBA. Kliknij każdą metodę, aby poznać szczegóły.

Nazwa i opis funkcji

InStr

Funkcja InStr zwraca pierwsze wystąpienie jednego ciągu w innym ciągu. Wyszukiwanie odbywa się od lewej do prawej.

Składnia

InStr(string1,string2[,porównaj])

Opis parametru

  • Start jest parametrem opcjonalnym. Określa pozycję początkową wyszukiwania. Wyszukiwanie rozpoczyna się od pierwszej pozycji od lewej do prawej.

przykład

Private Sub Constant_demo_Click() Dim Var As Variant Var = "Microsoft VBScript" MsgBox („Linia 1: „ & InStr(1, Var, „s”)) MsgBox („Linia 2: „ & InStr(7, Var, „s) " ")) MsgBox („Linia 3: „ & InStr(1, Var, „f”, 1)) MsgBox („Linia 4: „ & InStr(1, Var, „t”, 0)) MsgBox („Linia 5 : " & InStr(1, Var, "i")) MsgBox („Linia 6: " & InStr(7, Var, "i")) MsgBox („Linia 7: " & InStr(Var, "VB") ) Zakończ sub

Linia 1:6
Linia 2: 0
Linia 3:8
Linia 4:9
Linia 5:2
Linia 6: 16
Linia 7: 11

Zwraca pierwsze wystąpienie określonego podciągu. Wyszukiwanie odbywa się od lewej do prawej.

InStrRev

Funkcja InStrRev zwraca pierwsze wystąpienie jednego ciągu w innym ciągu. Wyszukiwanie odbywa się od prawej do lewej.

Składnia

InStrRev(string1,string2[,start,])

Opis parametru

  • String1 jest wymaganym parametrem. Szukaj ciągu.
  • String2 jest wymaganym parametrem. Ciąg, w którym ma zostać wyszukany String1.
  • Start jest parametrem opcjonalnym. Określa pozycję początkową wyszukiwania. Wyszukiwanie rozpoczyna się od pierwszej pozycji od prawej do lewej.
  • Porównaj — parametr opcjonalny. Określa porównanie ciągów. Może przyjmować następujące wartości.
  • 0 = vbBinaryCompare - wykonuje porównanie binarne (domyślnie)
  • 1 = vbTextCompare – wykonuje porównanie tekstu

przykład

Dodaj przycisk i ustaw następującą funkcję.

Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Linia 1: " & InStrRev(var,"s",10)) msgbox("Linia 2: " & InStrRev(var,"s",7)) msgbox ("Linia 3: " & InStrRev(var",f",-1,1)) msgbox("Linia 4: " & InStrRev(var",t",5)) msgbox("Linia 5: " & InStrRev( var,"i",7)) msgbox("Linia 6: " & InStrRev(var,"i",7)) msgbox("Linia 7: " & InStrRev(var,"VB",1)) End Sub

Po wykonaniu powyższego skryptu generuje następujące dane wyjściowe.

Linia 1:6
Linia 2: 6
Linia 3:8
Linia 4:0
Linia 5:2
Linia 6:2
Linia 7:0

Zwraca pierwsze wystąpienie określonego podciągu. Wyszukiwanie odbywa się od prawej do lewej.

LCAZA

Funkcja LCase zwraca ciąg znaków po konwersji ciągu wejściowego na małe litery.

Składnia

Lcase(ciąg)

przykład

Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Linia 1: " & LCase(var)) var = "MS VBSCRIPT" msgbox("Linia 2: " & LCase(var)) var = "microsoft" msgbox( „Wiersz 3: „ & LCase(var)) End Sub

Linia 1: Microsoft vbscript
Linia 2: ms vbscript
Linia 3: Microsoft

Zwraca małe litery określonego ciągu.

UPrzypadek

Funkcja UCase zwraca ciąg znaków po konwersji ciągu wejściowego na DUŻE litery.

Składnia

UCas(Ciąg)

przykład

Dodaj przycisk i umieść w nim następującą funkcję.

Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Linia 1: " & UCase(var)) var = "MS VBSCRIPT" msgbox("Linia 2: " & UCase(var)) var = "microsoft" msgbox( „Wiersz 3: „ & UCase(var)) End Sub

Po wykonaniu powyższego skryptu generuje następujące dane wyjściowe.

Wiersz 1: MICROSOFT VBSCRIPT
Wiersz 2: MS VBSCRIPT
Linia 3: MICROSOFT

Zwraca wielkie litery określonego ciągu.

Lewy

Funkcja Left zwraca określoną liczbę znaków z lewej strony danego ciągu wejściowego.

Składnia

Lewy (ciąg, długość)

Opis parametru

  • String jest wymaganym parametrem. Ciąg wejściowy, z którego po lewej stronie ma zostać zwrócona określona liczba znaków.
  • Długość jest wymaganym parametrem. Liczba całkowita określająca liczbę znaków do zwrócenia.

przykład

Dodaj przycisk i dodaj następującą funkcję.

Private Sub Constant_demo_Click() Dim var jako wariant var = "Microsoft VBScript" msgbox("Linia 1: " & Left(var,2)) var = "MS VBSCRIPT" msgbox("Linia 2: " & Left(var,5) ) var = "microsoft" msgbox("Linia 3: " & Left(var,9)) End Sub

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.

Linia 1: Mi
Linia 2: MS VB
Linia 3: Microsoft

Zwraca określoną liczbę znaków z lewej strony ciągu.

Prawidłowy

Funkcja Right zwraca określoną liczbę znaków z prawej strony danego ciągu wejściowego.

Składnia

Prawo (sznurek, długość)

Opis parametru

  • String jest wymaganym parametrem. Ciąg wejściowy, z którego po prawej stronie ma zostać zwrócona określona liczba znaków.
  • Długość jest wymaganym parametrem. Liczba całkowita określająca liczbę znaków do zwrócenia.

przykład

Dodaj przycisk i dodaj następującą funkcję.

Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Linia 1: " & Right(var,2)) var = "MS VBSCRIPT" msgbox("Linia 2: " & Right(var,5)) var = " microsoft" msgbox("Wiersz 3: " & Right(var,9)) End Sub

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.

Linia 1: pkt
Linia 2: CRIPT
Linia 3: Microsoft

Zwraca określoną liczbę znaków z prawej strony ciągu.

Średni

Funkcja Mid zwraca określoną liczbę znaków z danego ciągu wejściowego.

Składnia

Środek (ciąg, początek [, długość])

Opis parametru

  • String jest wymaganym parametrem. Ciąg wejściowy określający liczbę znaków do zwrócenia.
  • Start - wymagany parametr. Liczba całkowita określająca pozycję początkową linii.
  • Długość jest parametrem opcjonalnym. Liczba całkowita określająca liczbę znaków do zwrócenia.

Dodaj przycisk i dodaj następującą funkcję.

Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript" msgbox("Linia 1: " & Mid(var,2)) msgbox("Linia 2: " & Mid(var,2,5)) msgbox(" Wiersz 3: „ & Mid(var,5,7)) End Sub

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.

Linia 1: icrosoft VBScript
Linia 2: icros
Linia 3:osoft V

Zwraca określoną liczbę znaków z ciągu na podstawie określonych parametrów.

LPrzytnij

Funkcja Ltrim usuwa spacje z lewej strony ciągu.

Składnia

LTrim(String)

przykład

Dodaj przycisk i dodaj następującą funkcję.

Private Sub Constant_demo_Click() Dim var as Variant var = " Microsoft VBScript" msgbox "Po Ltrim: " & LTrim(var) End Sub

Gdy wykonasz tę funkcję, wyświetli ona następujący wynik.

Po Ltrim: Microsoft VBScript

Zwraca ciąg znaków po usunięciu spacji z lewej strony określonego ciągu.

RPrzytnij

Funkcja Rtrim usuwa spacje z prawej strony ciągu.

Składnia

RTrim(String)

przykład

Dodaj przycisk i dodaj następującą funkcję.

Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript " msgbox("Po Rtrim: " & RTrim(var)) End Sub

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.

Po Rtrim: Microsoft VBScript

Zwraca ciąg znaków po usunięciu spacji z prawej strony określonego ciągu.

Przycinać

Funkcja Trim usuwa początkowe i końcowe białe znaki z danego ciągu wejściowego.

Składnia

Przytnij (String)

przykład

Dodaj przycisk i dodaj następującą funkcję.

Private Sub Constant_demo_Click() var = "Microsoft VBScript" var = "Microsoft VBScript" msgbox ("Po przycięciu: " & Trim(var)) End Sub

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.

Po przycięciu: Microsoft VBScript

Zwraca wartość ciągu po usunięciu spacji wiodących i końcowych.

Len

Funkcja Len zwraca długość podanego ciągu wejściowego łącznie ze spacjami.

Składnia

Len (ciąg)

przykład

Dodaj przycisk i dodaj następującą funkcję.

Private Sub Constant_demo_Click() Dim var1 jako wariant Dim var2 jako wariant var1 ="Microsoft VBScript" msgbox("Długość zmiennej 1 wynosi: " & Len(var1)) var2 = " Microsoft VBScript " msgbox („Długość zmiennej var2 wynosi: " & Len(var2)) Koniec Sub

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.

Długość var1 wynosi: 18
Długość var2 wynosi: 36

Zwraca długość podanego ciągu.

Zastępować

Funkcja Zamień zastępuje określoną część ciągu określonym ciągiem określoną liczbę razy.

Składnia

Zamień(ciąg,znajdź,zamień na[,start[,liczba[,porównaj]]])

Opis parametru

  • String jest wymaganym parametrem. Ciąg wejściowy, który ma zostać wyszukany do zastąpienia.
  • Znajdź - wymagany parametr. Część ciągu, która zostanie zastąpiona.
  • Zamień na jest wymaganym parametrem. Ciąg zastępczy, który zostanie zastąpiony parametrem find.
  • Start jest parametrem opcjonalnym. Określa pozycję początkową, od której należy wyszukiwać i zamieniać ciąg. Wartość domyślna to 1.
  • Liczba jest parametrem opcjonalnym. Określa, ile razy należy wykonać wymianę.
  • Porównaj — parametr opcjonalny. Określa metodę porównania, która ma zostać użyta. Wartość domyślna to 0.
  • 0 = vbBinaryCompare – wykonuje porównanie binarne
  • 1 = vbTextCompare – wykonuje porównanie tekstu

przykład

Private Sub Constant_demo_Click() Dim var as Variant var = "To jest programowanie VBScript" "VBScript zostanie zastąpiony przez MS VBScript msgbox("Linia 1: " & Zamień(var,"VBScript","MS VBScript")) "VB do zostanie zastąpiony przez vb msgbox("Wiersz 2: " & Zamień(var",VB","vb")) ""jest" zastąpiony przez ## msgbox("Wiersz 3: " & Zamień(var,"is"," ##")) ""is" zastąpione przez ## ignoruje znaki przed pierwszym wystąpieniem msgbox("Linia 4: " & Zamień(var,"is","##",5)) ""s" zostaje zastąpione przez ## dla kolejne 2 zdarzenia.

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.

msgbox("Linia 5: " & Zamień(var,"s","##",1,2)) ""r" zostaje zastąpione przez ## dla wszystkich porównań tekstowych. msgbox("Linia 6: " & Zamień (var,"r","##",1,-1,1)) ""t" jest zastępowane przez ## dla wszystkich wystąpień Porównanie binarne msgbox("Linia 7: " & Zamień(var,"t", „##”,1,-1,0)) Koniec podst
Linia 1: To jest programowanie MS VBScript
Wiersz 2: To jest programowanie vbScript
Linia 3: Th## ## Programowanie VBScript
Linia 4: ## Programowanie VBScript
Linia 5: Thi## i## Programowanie VBScript
Linia 6: To jest VBSc##ipt P##og##amming

Linia 7: To jest programowanie VBScrip##

Zwraca ciąg znaków po zastąpieniu ciągu innym ciągiem.

Przestrzeń

Składnia

Funkcja Space wypełnia ciąg określoną liczbą spacji.

Opis parametru

spacja (liczba)

przykład

Liczba - wymagany parametr. Liczba spacji, które chcemy dodać do tego ciągu.

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.

Private Sub Constant_demo_Click() Dim var1 jako wariant var1 = „Microsoft” Dim var2 jako wariant var2 = „VBScript” msgbox(var1 & Space(2)& var2) End Sub

Microsoft VBScript

Wypełnia ciąg określoną liczbą spacji.

StrComp

  • Funkcja StrComp zwraca wartość całkowitą po porównaniu dwóch podanych ciągów. Może zwrócić dowolną z trzech wartości -1, 0 lub 1 w oparciu o ciągi wejściowe do porównania.
  • Jeśli String1 jest mniejszy niż String2, wówczas StrComp zwraca -1
  • Jeśli String1 jest równy String2, wówczas StrComp zwraca 0

Składnia

Jeśli String1 jest większy niż String2, wówczas StrComp zwraca 1

Opis parametru

  • StrComp(string1,string2[,porównaj])
  • String1 jest wymaganym parametrem. Pierwsze wyrażenie ciągu.
  • Porównaj — parametr opcjonalny. Określa porównanie ciągów. Może przyjmować następujące wartości.
  • 0 = vbBinaryCompare - wykonuje porównanie binarne (domyślnie)
  • 1 = vbTextCompare – wykonuje porównanie tekstu

przykład

Dodaj przycisk i dodaj następującą funkcję.

String2 jest wymaganym parametrem. Drugie wyrażenie ciągu.

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.

Private Sub Constant_demo_Click() Dim var1 jako wariant msgbox("Linia 1:" & StrComp("Microsoft","Microsoft")) msgbox("Linia 2:" &StrComp("Microsoft","MICROSOFT")) msgbox("Linia 3:" &StrComp("Microsoft","MiCrOsOfT")) msgbox("Linia 4:" &StrComp("Microsoft","MiCrOsOfT",1)) msgbox("Linia 5:" &StrComp("Microsoft","MiCrOsOfT" ,0)) Koniec pod
Linia 1:0
Linia 2:1
Linia 3:1
Linia 4:0

Linia 5:1

Zwraca wartość całkowitą po porównaniu dwóch określonych ciągów.

Funkcja String wypełnia ciąg określonym znakiem określoną liczbę razy.

Składnia

Ciąg (liczba, znak)

Opis parametru

  • Liczba - wymagany parametr. Wartość całkowita, która będzie powtarzana określoną liczbę razy względem parametru znakowego.
  • Symbol jest wymaganym parametrem. Wartość znaku, która musi zostać powtórzona określoną liczbę razy.

przykład

Dodaj przycisk i dodaj następującą funkcję.

Private Sub Constant_demo_Click() msgbox("Linia 1:" & String(3,"$")) msgbox("Linia 2:" & String(4",*")) msgbox("Linia 3:" & String(5,100 )) msgbox("Linia 4:" & String(6,"ABCDE")) End Sub

Gdy wykonasz powyższą funkcję, wyświetli się następujący wynik.



Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl+Enter
UDZIAŁ: