我正在尝试找到解决方案,我怎样才能像这样拆分字符串:
abkgwvc
按array性格?预期输出为:
array[0] = a
array[3] = g
...
任何想法?
解决方案:
for i := 0 to length(string) do
begin
    array[i] = copy(string, i, 1);
end;
    字符串可以直接作为字符数组访问,因此无需使用Copy. 下面的示例基于支持动态数组的 Delphi/Lazarus 版本,但您可以以同样的方式使用旧式固定长度数组 ( Arr: array[..] of Char);只需删除SetLength调用并将声明更改为正确的数组类型。
var
  Str: string;
  Arr: array of Char;
  i: Integer;
  Len: Integer;
begin
  Str := 'abkgwvc';
  Len := Length(Str);
  SetLength(arr, Len);
  // Dynamic arrays are 0-based indexing, while
  // strings are 1 based. We need to subtract 1
  // from the array index.
  for i := 1 to Len do
    Arr[i - 1] := Str[i];  
end;
(当然,如果您不使用动态数组,则不清楚为什么首先需要一个单独的数组;您可以直接逐个访问字符串。)