Exchange 交换两个字符串的位置,如果字符串配有对象,那么对象也被交换
List := TStringList.Create;
List.Delimiter := '|';
List.DelimitedText := 'aaa|bbb|ccc|ddd';
ShowMessage(IntToStr(List.Count)); //4
ShowMessage(List[0]); //aaa
List.Free;
而SplitColumns是IdStrings.pas里的函数,
它修正了TStrings.DelimitedText和TStrings.Delimiter将空格也作为分隔符的问题
SplitColumns
CaseSensitive 设定字符串比较、取位置时,大小写是否敏感,这个我们不作介绍,有兴趣看Delphi帮助
Duplicates 添加字符串的时候,是否允许重复字段Add,这个我们不作介绍,有兴趣看Delphi帮助
List.Duplicates := dupIgnore; //如有重复值则放弃
List.Add('aaa');
ShowMessage(List.Text); //aaa
//Duplicates 有3个可选值:
//dupIgnore: 放弃;
//dupAccept: 结束;
//dupError: 提示错误.
Names & Values & ValueFromIndex。
strs.CommaText := '0=aaa,1=bbb,2=ccc,3=ddd';
for i := 0 to strs.Count-1 do
begin
ShowMessage(strs.Names);
ShowMessage(strs.Values[strs.Names]);
ShowMessage(strs.ValueFromIndex);
end;
/ValueFromIndex 可以赋值:
List.ValueFromIndex[1] := '2';
ShowMessage(List[1]); //bbb=2
//可以通过 Values 赋值:
List.Values['bbb'] := '22';
//倒排序
List.CustomSort(DescCompareStrings); //调用排序函数