Procedury obsługi ciągów znaków: programowanie Delphi
Obrazy bohaterów/obrazy Getty
Funkcja PorównajTekst porównuje dwa ciągi bez rozróżniania wielkości liter.
Deklaracja:
funkcjonować PorównajTekst( stały S1, S2: strunowy ): liczba całkowita ;
Opis:
Porównuje dwa ciągi bez uwzględniania wielkości liter.
Porównanie NIE uwzględnia wielkości liter i nie uwzględnia ustawień regionalnych systemu Windows. Zwracana wartość całkowita jest mniejsza niż 0, jeśli S1 jest mniejsza niż S2, 0, jeśli S1 równa się S2, lub większa niż 0, jeśli S1 jest większa niż S2.
Ta funkcja jest przestarzała, tzn. nie powinna być używana w nowym kodzie - istnieje tylko dla wstecznej kompatybilności.
Przykład:
|_+_|Funkcja kopiowania
Zwraca podciąg ciągu lub segment tablicy dynamicznej.
Deklaracja:
funkcjonować Kopiuj(S; Indeks, Liczba: Liczba całkowita): strunowy ;
funkcjonować Kopiuj(S; Indeks, Liczba: Liczba całkowita): szyk ;
Opis:
Zwraca podciąg ciągu lub segment tablicy dynamicznej.
S jest wyrażeniem typu string lub dynamic-array. Index i Count są wyrażeniami typu całkowitego. Copy zwraca ciąg znaków zawierający określoną liczbę znaków z ciągu lub tablicy podrzędnej zawierającej elementy Count zaczynające się od S[Index].
Jeśli indeks jest większy niż długość S, funkcja Copy zwraca ciąg o zerowej długości ('') lub pustą tablicę.
Jeśli Count określa więcej znaków lub elementów tablicy niż jest dostępnych, zwracane są tylko znaki lub elementy od S[Index] do końca S.
Aby określić liczbę znaków w ciągu, użyj funkcji Długość. Wygodnym sposobem skopiowania wszystkich elementów S z początkowego indeksu jest użycie MaxInt jako hrabiego.
Przykład:
|_+_|
Procedura usuwania
Usuwa podciąg z ciągu.
Deklaracja:
procedura Usuwać( był S: strunowy ; Indeks, liczba : liczba całkowita)
Opis:
Usuwa znaki Count z ciągu S, zaczynając od Index.
Delphi pozostawia ciąg bez zmian, jeśli indeks nie jest dodatni lub jest większy niż liczba znaków po indeksie. Jeśli liczba jest większa niż reszta znaków po indeksie, reszta ciągu jest usuwana.
Przykład:
|_+_|Funkcja wyodrębniania ciągów
Wypełnia listę ciągów podciągami przeanalizowanymi z listy rozdzielanej.
Deklaracja:
rodzaj TSysCharSet = zestaw Zwęglać;
funkcjonować ExtractStrings (Separatory, WhiteSpace: TSysCharSet; Zawartość: PChar; Ciągi: TStrings): Liczba całkowita;
Opis:
Wypełnia listę ciągów podciągami przeanalizowanymi z listy rozdzielanej.
Separatory to zestaw znaków używanych jako ograniczniki, oddzielające podciągi, gdzie zwroty karetki, znaki nowego wiersza i znaki cudzysłowu (pojedyncze lub podwójne) są zawsze traktowane jako separatory. WhiteSpace to zestaw znaków, które mają być ignorowane podczas analizowania zawartości, jeśli występują na początku ciągu. Treść to ciąg zakończony znakiem NULL, który ma zostać przeanalizowany na podciągi. Strings to lista ciągów, do której dodawane są wszystkie podciągi przeanalizowane z zawartości. Funkcja zwraca liczbę ciągów dodanych do parametru Ciągi.
Przykład:
|_+_|Funkcja LeftStr
Zwraca ciąg zawierający określoną liczbę znaków z lewej strony ciągu.
Deklaracja:
funkcjonować LewyStr( stały AString: AnsiString; stały Liczba: liczba całkowita): AnsiString; przeciążać ; funkcjonować LewyStr( stały Aciąg: Szeroki ciąg; stały Liczba: Liczba całkowita): Szeroki ciąg; przeciążać ;
Opis:
Zwraca ciąg zawierający określoną liczbę znaków z lewej strony ciągu.
AString reprezentuje wyrażenie ciągu, z którego zwracane są znaki z lewej strony. Liczba wskazuje, ile znaków ma zostać zwróconych. Jeśli 0, zwracany jest ciąg o zerowej długości (''). Jeśli jest większa lub równa liczbie znaków w AString, zwracany jest cały ciąg.
Przykład:
|_+_|Funkcja długości
Zwraca liczbę całkowitą zawierającą liczbę znaków w ciągu lub liczbę elementów w tablicy.
Opis:
funkcjonować Długość (const S: strunowy ): liczba całkowita
funkcjonować Długość (const S: szyk ): liczba całkowita
Deklaracja:
Zwraca liczbę całkowitą zawierającą liczbę znaków w ciągu lub liczbę elementów w tablicy.
Dla tablicy Length(S) zawsze zwraca Ord(High(S))-Ord(Low(S))+1
Przykład:
|_+_|Funkcja małych liter
Zwraca ciąg, który został przekonwertowany na małe litery.
Opis:
funkcjonować Małe litery ( stały S: strunowy ): strunowy ;
Deklaracja:
Zwraca ciąg, który został przekonwertowany na małe litery.
LowerCase konwertuje tylko wielkie litery na małe; wszystkie małe litery i znaki nieliterowe pozostają niezmienione.
Przykład:
|_+_|Poz Funkcja
Zwraca liczbę całkowitą określającą pozycję pierwszego wystąpienia jednego ciągu w drugim.
Deklaracja:
funkcjonować Poz(Str., Źródło: strunowy ): liczba całkowita ;
Opis:
Zwraca liczbę całkowitą określającą pozycję pierwszego wystąpienia jednego ciągu w drugim.
Pos szuka pierwszego pełnego wystąpienia Str w źródle. Jeśli go znajdzie, zwraca pozycję znaku w Źródle pierwszego znaku w Str jako wartość całkowitą, w przeciwnym razie zwraca 0.
W poz. rozróżniana jest wielkość liter.
Przykład:
|_+_|Funkcja PosEx
Zwraca liczbę całkowitą określającą pozycję pierwszego wystąpienia jednego ciągu w innym, gdzie wyszukiwanie rozpoczyna się od określonej pozycji.
Deklaracja:
funkcjonować PozEx(Str, Źródło : strunowy , StartFrom : kardynał = 1): liczba całkowita ;
Opis:
Zwraca liczbę całkowitą określającą pozycję pierwszego wystąpienia jednego ciągu w innym, gdzie wyszukiwanie rozpoczyna się od określonej pozycji.
PosEx szuka pierwszego pełnego wystąpienia Str w źródle, rozpoczynając wyszukiwanie od StartFrom. Jeśli go znajdzie, zwraca pozycję znaku w Source pierwszego znaku w Str jako wartość całkowitą, w przeciwnym razie zwraca 0. PosEx zwraca również 0, jeśli StartFrom jest większe niż Length(Source) lub jeśli StartPos jest<0
Przykład:
|_+_|Funkcja QuotedStr
Zwraca cytowaną wersję ciągu.
Deklaracja:
funkcjonować CytowanyStr( stały S: strunowy ): strunowy ;
Opis:
Zwraca cytowaną wersję ciągu.
Znak pojedynczego cudzysłowu (') jest wstawiany na początku i na końcu ciągu S, a każdy pojedynczy znak cudzysłowu w ciągu jest powtarzany.
Przykład:
|_+_|Funkcja odwróconego ciągu
Zwraca ciąg, w którym kolejność znaków określonego ciągu jest odwrócona.
Deklaracja:
funkcjonować Odwrócony ciąg( stały Ciąg : strunowy ): strunowy ;
Opis: Zwraca ciąg, w którym kolejność znaków określonego ciągu jest odwrócona
Przykład:
|_+_|Funkcja RightStr
Zwraca ciąg zawierający określoną liczbę znaków z prawej strony ciągu.
Deklaracja:
funkcjonować PrawoStr( stały AString: AnsiString; stały Liczba: liczba całkowita): AnsiString; przeciążać ;
funkcjonować PrawoStr( stały Aciąg: Szeroki ciąg; stały Liczba: Liczba całkowita): Szeroki ciąg; przeciążać ;
Opis:
Zwraca ciąg zawierający określoną liczbę znaków z prawej strony ciągu.
AString reprezentuje wyrażenie ciągu, z którego zwracane są znaki z prawej strony. Liczba wskazuje, ile znaków ma zostać zwróconych. Jeśli jest większa lub równa liczbie znaków w AString, zwracany jest cały ciąg.
Przykład:
|_+_|Funkcja zastępowania ciągów
Zwraca ciąg, w którym określony podciąg został zastąpiony innym podciągiem.
Deklaracja:
rodzaj TRZastąpFlagi = zestaw (rfReplaceAll, rfIgnoreCase);
funkcjonować Zastąp ciąg( stały S, OldStr, NewStr: strunowy ; Flagi: TRZastąpFlagi): strunowy ;
Opis:
Zwraca ciąg, w którym określony podciąg został zastąpiony innym podciągiem.
Jeśli parametr Flags nie zawiera parametru rfReplaceAll, zastępowane jest tylko pierwsze wystąpienie OldStr w S. W przeciwnym razie wszystkie wystąpienia OldStr zostaną zastąpione przez NewStr.
Jeśli parametr Flags zawiera rfIgnoreCase, w operacji porównania nie jest rozróżniana wielkość liter.
Przykład:
|_+_|Funkcja przycinania
Zwraca ciąg zawierający kopię określonego ciągu bez spacji wiodących i końcowych oraz znaków sterujących.
Deklaracja: funkcja Przycinać( stały S: strunowy ): strunowy ;
Opis: Zwraca ciąg zawierający kopię określonego ciągu bez spacji wiodących i końcowych oraz niedrukowalnych znaków sterujących.
Przykład:
|_+_|Funkcja wielkich liter
Zwraca ciąg, który został przekonwertowany na wielkie litery.
Deklaracja: funkcja Duże litery( stały S: strunowy ): strunowy ;
Opis: Zwraca ciąg, który został przekonwertowany na wielkie litery.
UpperCase konwertuje tylko małe litery na wielkie; wszystkie wielkie litery i znaki nieliterowe pozostają niezmienione.
Przykład:
|_+_|Procedura Val
Konwertuje ciąg na wartość liczbową.
Deklaracja: procedura Val( stały S: strunowy ; był Wynik; był Kod: liczba całkowita);
Opis:
Konwertuje ciąg na wartość liczbową.
S jest wyrażeniem typu string; musi to być ciąg znaków, które tworzą podpisaną liczbę rzeczywistą. Argument Wynik może być zmienną typu Integer lub zmiennoprzecinkową. Kod ma wartość zero, jeśli konwersja się powiedzie. Jeśli ciąg jest nieprawidłowy, indeks naruszającego znaku jest przechowywany w kodzie.
Val nie uwzględnia lokalnych ustawień separatora dziesiętnego.
Przykład:
|_+_|