2012-07-18 16 views
7

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

12

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; 
+0

Nota: i caratteri sono a base 1. –

5

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; 
0

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;