//TStringList 常用方法与属性:
varList: TStringList;i: Integer;
beginList := TStringList.Create;List.Add('Strings1');           {添加}List.Add('Strings2');List.Exchange(0,1);             {置换}List.Insert(0,'Strings3');      {插入}i := List.IndexOf('Strings1');  {第一次出现的位置}List.Sort;                      {排序}List.Sorted := True;       {指定排序}List.Count;                     {总数}List.Text;                      {文本集合}List.Delete(0);                 {删除, 0是第一个数据}List.LoadFromFile('c:\tmp.txt');{打开}List.SaveToFile('c:\tmp.txt');  {保存}List.Clear;                     {清空}List.Free;                      {释放}
end;

//读入字符串
varList: TStringList;
beginList := TStringList.Create;List.CommaText := 'aaa,bbb,ccc,ddd';//相当于: List.Text := 'aaa' + #13#10 + 'bbb' + #13#10' + 'ccc' + '#13#10' + 'ddd';ShowMessage(IntToStr(List.Count));  //4ShowMessage(List[0]);  //aaaList.Free;
end;

//置换分隔符
varList: TStringList;
beginList := TStringList.Create;List.Delimiter := '|';//默认应该是","List.DelimitedText := 'aaa|bbb|ccc|ddd';ShowMessage(IntToStr(List.Count));  //4ShowMessage(List[0]);  //aaaList.Free;
end;

//类似的哈希表操作法
varList: TStringList;
beginList := TStringList.Create;List.Add('aaa=111');List.Add('bbb=222');List.Add('ccc=333');List.Add('ddd=444');ShowMessage(List.Names[1]);  //bbbShowMessage(List.ValueFromIndex[1]);  //222ShowMessage(List.Values['bbb']);  //222//ValueFromIndex 可以赋值:List.ValueFromIndex[1] := '2';ShowMessage(List[1]);  //bbb=2//可以通过 Values 赋值:List.Values['bbb'] := '22';ShowMessage(List[1]);  //bbb=22List.Free;
end;

//避免重复值
varList: TStringList;
beginList := TStringList.Create;List.Add('aaa');List.Sorted := True;  //需要先指定排序List.Duplicates := dupIgnore;  //如有重复值则放弃List.Add('aaa');ShowMessage(List.Text);  //aaa//Duplicates 有3个可选值://dupIgnore: 放弃;//dupAccept: 结束;//dupError: 提示错误.List.Free;
end;

//排序与倒排序
{排序函数}
function DescCompareStrings(List: TStringList; Index1, Index2: Integer): Integer;
beginResult := -AnsiCompareText(List[Index1], List[Index2]);
end;procedure TForm1.Button1Click(Sender: TObject);
varList: TStringList;
beginList := TStringList.Create;List.Add('bbb');List.Add('ccc');List.Add('aaa');//未排序ShowMessage(List.Text);  //bbb ccc aaa//排序List.Sort;ShowMessage(List.Text);  //aaa bbb ccc//倒排序List.CustomSort(DescCompareStrings);  //调用排序函数ShowMessage(List.Text);  //ccc bbb aaa//假如:List.Sorted := True;List.Add('999');List.Add('000');List.Add('zzz');ShowMessage(List.Text);  //000 999 aaa bbb ccc zzz
end;

自己的例子一个编辑框内容为:A,B,内容以数组形势存入数据库

procedure TFrm_030101_dimsAdd.AddSJ;
var
  dims:IJSONDocument;
  List: TStringList;
  i:integer;
  arr:array of string; //定义动态string型数组
begin
  try
    List := TStringList.Create;
    List.CommaText := Trim(edt_tagkeys.text);
    setlength(arr,List.count);//使用时,定义数组长度
    for i := 0 to List.count-1 do
    begin
      arr[i]:= List[i];
    end;

    List.free;

    dims:=json([
          '_id',Trim(edt_id.text),
          'name',Trim(edt_name.Text),
          'tagKeys',arr
         ]);
  FMongoWire.Insert(dimsCol,dims);
  ShowMessage('添加成功!');
 except
    application.MessageBox('添加出错,请联系管理员!','系统提示',mb_OK+MB_ICONinformation);
 end;
end;

转载于:https://www.cnblogs.com/michellexiaoqi/p/7703595.html

delphi----Tstringlist,将有符号的数据变成数组aaa,bbb,ccc----list[0]=aaa,list[1]=bbb相关推荐

  1. PlSqlDev中执行INSERT SQL语句包含符号导致数据异常

    PlSqlDev中执行INSERT SQL语句包含&符号导致数据异常 参考文章: (1)PlSqlDev中执行INSERT SQL语句包含&符号导致数据异常 (2)https://ww ...

  2. SQL 查询字段包含特殊符号的数据

    SQL 查询字段包含特殊符号的数据 SQL 查询字段中包含单引号 查询的时候输入两个单引号就转义了 ,chr(39) 表示单引号.chr(40)表示双引号 eg: select * from XX.T ...

  3. java 正则 括号外_正则表达式匹配括号外的符号及数据

    正则表达式匹配括号外的符号 [\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$)) 将括号外的?!/.,和空格(连续多个时同时)匹配 如 String string1 = "sd ...

  4. Matlab有符号十六进制数据转换为有符号十进制数据并存储到txt文件

    代码功能实现将有符号的十六进制数据转换为有符号的十进制数据并存储到txt文件 clear all clc %% 读入十六进制数据 fid = fopen('C:\Users\Administrator ...

  5. sqlserver根据特殊符号截取数据

    select substring(people,charindex('_',people)+1,len(people)-charindex('_',people)) from tablename pe ...

  6. C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组

    转自:http://hi.baidu.com/ctralt/blog/item/cde79fec87f841302697911c.html fstream提供了三个类,用来实现c++对文件的操作.(文 ...

  7. R语言dplyr包的mutate函数将列添加到dataframe中或者修改现有的数据列:使用na_if()函数将0值替换为NA值、负收入替换为NA值

    R语言dplyr包的mutate函数将列添加到dataframe中或者修改现有的数据列:使用na_if()函数将0值替换为NA值.负收入替换为NA值 目录

  8. python怎么读取txt文件数据保存数组中-Python Numpy中数据的常用的保存与读取方法...

    在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...

  9. php 其他格式数据与数组互转

    class otherArr {private $char="UTF-8";private $cvs_fege=","; // cvs 分割符/**数组 转 其 ...

最新文章

  1. 查看git是否安装_Java程序员的必备Linux运维技能-安装git
  2. HDU1671-Phone List (trie树)
  3. 高等数学上-赵立军-北京大学出版社-题解-练习6.1
  4. 干涉测量技术的应用_技术分享 | 石化行业测量仪表应用在线答疑
  5. Linux下Shell文件内容替换(sed)(转)
  6. MVP 模式实例解析(转)
  7. 【详解】消息队列和线程关系
  8. Jenkins在Linux环境安装
  9. 亮相云栖:这些被Gartner点名的2020年安全风向
  10. RoboWare studio学习笔记
  11. 罗格斯的计算机科学博士奖学金,罗格斯大学计算机工程博士专业排名全网最新深刻分析...
  12. 请你来说一下数字证书是什么,里面都包含那些内容
  13. 微信h5界面隐藏分享按钮
  14. ubutun 滑动 触控板_Ubuntu下触控板手势调节软件xSwipe
  15. 计算机的存储器(详解)
  16. 《edge computing:vision and challenge》论文阅读
  17. Windows开发:鼠标操作
  18. 获取当前日期的年月日
  19. 入门算法:小和问题 之归并排序思想 java语言
  20. 你是个成熟的项目了,该学会自动构建自动部署了

热门文章

  1. 游戏行业的发展前景分析
  2. 五款免费的磁盘空间使用情况报告软件
  3. “如果你害怕成为陈冠希,彻底删除文件工具来帮你”--彻底删除文件(File Delete Absolutely)1.02发布...
  4. 可用于电子书阅读器的开源阅读器软件项目
  5. 红色警戒3原版V1.00基址大全
  6. 基于模型的设计及其嵌入式实现(无水印).pdf_DeepMind打造最强表示学习模型BigBiGAN,Goodfellow点赞!...
  7. UltraISO 制作系统启动盘教程
  8. vba遍历字符串_Notes-VBA-遍历
  9. 简易英文问答系统(glove.6B词向量)
  10. 艺赛旗(RPA)解压缩文件