Ho cercato dappertutto per questo. In Delphi/Lazarus, data una posizione, voglio trovare il personaggio in quella posizione in una stringa diversa. So come trovare la posizione di un personaggio. Ne ho bisogno il contrario: il personaggio in una determinata posizione. Grazie in anticipo.Delphi - trova carattere una data posizione/indice
risposta
In Delphi, un carattere nella stringa può essere indicizzato utilizzando la notazione di matrice. Basta notare che il primo carattere nella stringa ha un indice di uno.
var
s: string;
c: char;
begin
s := 'Hello';
c := s[1]; //H
end;
Una stringa è accessibile come una matrice.
MyString [12] fornisce il dodicesimo carattere nella stringa. Nota: Questa è 1-index (perché la posizione 0e utilizzato per contenere la lunghezza della stringa)
Esempio:
var
MyString : String;
MyChar : Char;
begin
MyString := 'This is a test';
MyChar := MyString[4]; //MyChar is 's'
end;
Questa è stata l'ultima risposta nel 2012, quindi pensato che mi piacerebbe è sufficiente aggiungere una aggiornamento:
Per la versione più recente di Delphi (attualmente Tokyo Edition - che funziona su più piattaforme utilizzando il framework FMX), la classe StringHelper offre una soluzione di indice di caratteri multipiattaforma. Questa implementazione presuppone un indice basato su 0 per tutte le piattaforme supportate.
es.
var
myString: String;
myChar: Char;
begin
myChar := myString.Chars[0];
end;
Nota: i caratteri sono a base 1. –