2012-07-18 14 views
7

Przeszukałem po tym wszystkim. W Delphi/Lazarus, biorąc pod uwagę pozycję, chcę znaleźć postać w tej pozycji w innym ciągu. Wiem, jak znaleźć pozycję postaci. Potrzebuję tego na odwrót: postać na danej pozycji. Z góry dziękuję.Delphi - znajdź znak danej pozycji/indeksu

Odpowiedz

12

W Delphi znak w łańcuchu można indeksować za pomocą notacji tablicowej. Zauważ, że pierwszy znak w ciągu ma indeks jednego.

var 
    s: string; 
    c: char; 
begin 
    s := 'Hello'; 
    c := s[1]; //H 
end; 
+0

Uwaga: Postacie są oparte na 1. –

5

Dostęp do łańcucha można uzyskać w postaci tablicy.

MyString [12] podaje 12. znak w ciągu znaków. Uwaga: Jest to 1-index (ponieważ pozycja 0-ty używane do przechowywania długości łańcucha)

Przykład:

var 
    MyString : String; 
    MyChar : Char; 
begin 
    MyString := 'This is a test'; 
    MyChar := MyString[4]; //MyChar is 's' 
end; 
0

ten ostatni odpowiedział w 2012 roku, więc po prostu zorientowali Chciałbym dodać aktualizacja:

Do najnowszej wersji Delphi (obecnie edycja Tokio - uruchamianej na wielu platformach korzystających z frameworka FMX) klasa StringHelper oferuje rozwiązanie indeksu znakowego o wielu platformach. Implementacja ta zakłada indeks oparty na 0 dla wszystkich obsługiwanych platform.

np.

var 
    myString: String; 
    myChar: Char; 
begin 
    myChar := myString.Chars[0]; 
end; 
Powiązane problemy