我已经搜遍了这个。在Delphi / Lazarus中,给定一个位置,我想在不同的字符串中找到该位置的字符。我知道如何找到一个角色的位置。我反过来需要它:给定位置的角色。提前谢谢。
答案 0 :(得分:12)
在Delphi中,可以使用数组表示法对字符串中的字符进行索引。请注意,string中的第一个字符的索引为一。
var
s: string;
c: char;
begin
s := 'Hello';
c := s[1]; //H
end;
答案 1 :(得分:5)
可以像数组一样访问字符串。
MyString [12]为您提供字符串中的第12个字符。 注意:这是1索引(因为用于保存字符串长度的第0个位置)
示例:
var
MyString : String;
MyChar : Char;
begin
MyString := 'This is a test';
MyChar := MyString[4]; //MyChar is 's'
end;
答案 2 :(得分:1)
这是2012年的最后一次回答,因此我想添加一个更新:
对于最新版本的Delphi(目前东京版 - 使用FMX框架在多个平台上运行),StringHelper类提供了跨平台字符索引解决方案。此实现假定所有受支持平台的基于0的索引。
例如。
var
myString: String;
myChar: Char;
begin
myChar := myString.Chars[0];
end;
答案 3 :(得分:0)
// AIndex: 0-based
function FindCharactedOfStringFromIndex(const AString: String; const AIndex: Integer): Char;
const
{$IFDEF CONDITIONALEXPRESSIONS}
{$IF CompilerVersion >= 24}
STRING_FIRST_CHAR_INDEX = Low(AString);
{$ELSE}
STRING_FIRST_CHAR_INDEX = 1;
{$ENDIF}
{$ELSE}
STRING_FIRST_CHAR_INDEX = 1;
{$ENDIF}
var
index: Integer;
begin
index := STRING_FIRST_CHAR_INDEX + AIndex;
Result := AString[index];
end;