我已经到处搜索了这个。在 Delphi/Lazarus 中,给定一个位置,我想在不同的字符串中找到该位置的字符。我知道如何找到一个角色的位置。我需要它的另一种方式:给定位置的角色。提前致谢。
问问题
19214 次
4 回答
13
在 Delphi 中,可以使用数组表示法对字符串中的字符进行索引。请注意,字符串中的第一个字符的索引为 1。
var
s: string;
c: char;
begin
s := 'Hello';
c := s[1]; //H
end;
于 2012-07-18T05:38:38.147 回答
5
可以像访问数组一样访问字符串。
MyString[12] 为您提供字符串中的第 12 个字符。注意:这是 1-index(因为第 0 个位置用于保存字符串的长度)
例子 :
var
MyString : String;
MyChar : Char;
begin
MyString := 'This is a test';
MyChar := MyString[4]; //MyChar is 's'
end;
于 2012-07-18T05:39:05.770 回答
2
这最后一次回答是在 2012 年,所以我想我只是添加一个更新:
对于最新版本的 Delphi(目前为东京版 - 使用 FMX 框架在多个平台上运行),StringHelper 类提供了一个跨平台字符索引解决方案。此实现假定所有支持的平台都有一个从 0 开始的索引。
例如。
var
myString: String;
myChar: Char;
begin
myChar := myString.Chars[0];
end;
于 2017-09-13T06:09:08.583 回答
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;
于 2019-05-14T12:02:01.460 回答