Delphi-найти символ заданной позиции / индекса
Я искал это повсюду. В Delphi / Lazarus, учитывая позицию, я хочу найти символ в этой позиции в другой строке. Я знаю, как найти позицию символа. Мне нужно это наоборот: персонаж в заданной позиции. Спасибо заранее.
3 ответов
в Delphi символ в строке может быть индексирован с использованием нотации массива. Просто обратите внимание, что первый символ в строке имеет индекс один.
var
s: string;
c: char;
begin
s := 'Hello';
c := s[1]; //H
end;
строка может быть доступна как массив.
например, [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 framework) класс StringHelper предлагает решение для кросс-платформенного индекса символов. Эта реализация предполагает индекс на основе 0 для всех поддерживаемых платформ.
например.
var
myString: String;
myChar: Char;
begin
myChar := myString.Chars[0];
end;