我想找到解决方案,我怎么能像这样拆分字符串:
abkgwvc
Run Code Online (Sandbox Code Playgroud)
要array通过人物?预期产出是:
array[0] = a
array[3] = g
...
Run Code Online (Sandbox Code Playgroud)
任何的想法?
for i := 0 to length(string) do
begin
array[i] = copy(string, i, 1);
end;
Run Code Online (Sandbox Code Playgroud)
字符串可以直接作为字符数组访问,因此无需使用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;
Run Code Online (Sandbox Code Playgroud)
(当然,如果你没有使用动态数组,那么你不清楚为什么首先需要一个单独的数组;你可以直接访问字符串char-by-char.)