用delphi把一段字符串按逗号和指定长度分段
时间: 2024-03-06 11:51:51 浏览: 99
可以使用 Delphi 自带的字符串处理函数和循环语句来实现按逗号和指定长度分段的操作。以下是一个示例代码:
```delphi
function SplitString(const AStr: string; const ADelimiter: Char; const ALength: Integer): TStringList;
var
i, j, k: Integer;
SubStr: string;
begin
Result := TStringList.Create;
j := 1;
k := 0;
for i := 1 to Length(AStr) do
begin
if (AStr[i] = ADelimiter) or (k = ALength) then
begin
SubStr := Trim(Copy(AStr, j, i - j));
if SubStr <> '' then
Result.Add(SubStr);
j := i + 1;
k := 0;
end
else
Inc(k);
end;
SubStr := Trim(Copy(AStr, j, Length(AStr) - j + 1));
if SubStr <> '' then
Result.Add(SubStr);
end;
```
这个函数使用 TStringList 类来存储分段后的字符串,可以方便地获取每个分段。调用这个函数的方法如下:
```delphi
var
Str: string;
Segments: TStringList;
begin
Str := 'abc,def,ghijk,lmnopqr,stuvw';
Segments := SplitString(Str, ',', 4);
// Segments 中存储的字符串为:
// 'abc', 'def', 'ghijk', 'lmno', 'pqr,', 'stuv', 'w'
end;
```
其中,第一个参数是要分段的字符串,第二个参数是分隔符(这里使用了逗号),第三个参数是指定的段长。在上面的示例中,指定了每段的长度为 4,所以最后一段只有一个字符。
阅读全文