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
7
A
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;
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;
Uwaga: Postacie są oparte na 1. –