我有一个字符串,需要从中提取一个字符用于Case
语句。问题是Case
只接受Char
值而不是字符串值。那么如何将单个字符串字符转换为字符?
我有一个字符串,需要从中提取一个字符用于Case
语句。问题是Case
只接受Char
值而不是字符串值。那么如何将单个字符串字符转换为字符?
将字符串视为字符数组(从1开始),并在case
语句中使用要使用的字符的索引。例如,如果要使用第一个字符:
case MyString[1] Of
// ...
end;
注意,确保在使用下标之前检查字符串长度至少为该长度,否则将导致访问冲突。
自从Delphi变成跨平台后,我会使用TStringHelper
类中的0-based字符串访问方式,该类位于System.SysUtils
单元中:
case MyString.Chars(0) Of
// ...
end;
var
function StrToChar(const S: string; Index: Integer = 1; Default: Char = ' '): Char;
- afrazierc := Copy(s + ' ', 1, 1)[1];
- asdjfiasd