Delphi-найти символ заданной позиции / индекса



Я искал это повсюду. В Delphi / Lazarus, учитывая позицию, я хочу найти символ в этой позиции в другой строке. Я знаю, как найти позицию персонажа. Мне это нужно наоборот: персонаж в данной позиции. Заранее спасибо.

818   3  

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

    Ничего не найдено.