3 ответов:
В Delphi символ в строке может быть проиндексирован с использованием нотации массива. Просто обратите внимание, что первый символ в строке имеет индекс один.
var s: string; c: char; begin s := 'Hello'; c := s[1]; //H end;
К строке можно обращаться как к массиву.
MyString [12] дает вам 12-й символ в строке. Примечание: это 1-индекс (поскольку 0-я позиция используется для хранения длины строки)
Пример:
var MyString : String; MyChar : Char; begin MyString := 'This is a test'; MyChar := MyString[4]; //MyChar is 's' end;
Последний раз на этот вопрос отвечали в 2012 году, поэтому я решил просто добавить обновление:
Для последней версии Delphi (в настоящее время Tokyo Edition-которая работает на нескольких платформах с использованием фреймворка FMX) класс StringHelper предлагает кроссплатформенное решение для индексирования символов. Эта реализация предполагает индекс на основе 0 для всех поддерживаемых платформ.
Напр.
var myString: String; myChar: Char; begin myChar := myString.Chars[0]; end;
Comments