一个string类型的字符串,它由很多行组成,怎么求得有多少行?
同时求出每行的字符串,以下标形式访问。
也就是这样:字符串:"fdsfsadfdscnncncnd#13fdascdnfdsjf#13fsjdkfjsd fsdkfds#13fdskcdnmcndjnafdfds#13"
其中#13是换行符,那么行数就是#13的个数,怎么求?
下标形式也就是rows[0]="fdsfsadfdscnncncnd",rows[1]="fdascdnfdsjf",rows[2]="13fsjdkfjsd fsdkfds"...
最好用delphi给出代码。我对delphi不太熟,工作遇到了。谢谢各位。

解决方案 »

  1.   

    var
      ss:Tstringlist;
    beginss:=Tstringlist.create;
    ss.text:=你的字符串;
    ss[0]就是第1行
    ss[1]就是第2行
    ....
    最后记得:
    ss.free;
      

  2.   

    你这个要考虑中间的那个空格,那个会被识别为换行的,不知道那个是不是必须的,对于#13,你可以先把他替换掉,然后用Tstringlist取值var
      list:TStringList;
      s:string;
    begin
      s := 'fdsfsadfdscnncncnd#13fdascdnfdsjf#13fsjdkfjsd fsdkfds#13fdskcdnmcndjnafdfds#13';
      list := TStringList.Create;
      s := StringReplace(s,'#13',':',[rfReplaceAll]);
      list.Delimiter := ':';
      list.DelimitedText := s;
      ShowMessage(list.Text);
      ShowMessage(list.Strings[0]);
      ShowMessage(IntToStr(list.Count));
      list.Free;
    end;
      

  3.   

    推荐段代码var
      s:string;
      Strl:TStringList;
    begin
      s:='fdsfsadfdscnncncnd#13fdascdnfdsjf#13fsjdkfjsd fsdkfds#13fdskcdnmcndjnafdfds#13';
      Strl:=TStringList.Create;
      ExtractStrings(['#','1','3'],[' '], PChar(s), Strl);
      ListBox1.Items:=Strl;
      ShowMessage(IntToStr(Strl.Count));
      Strl.Free;
    end;不过这还有点小问题,就是 ExtractStrings函数数据的第二个参数[' ']我现在填的是空格,他会自动去掉生成的每行前面的空格,你可以填别的字符,只不要影响你要得出来的数据就好了!