delphi如何按固定的分隔符来分割字符串,并且把分割出来的字符串放到数组中?具体的代码如何实现?

作者&投稿:宏馨 (若有异议请与网页底部的电邮联系)
DELPHI 字符串分割成数组~

循环定位冒号以及紧接着的分号,用取字串函数copy取出即可(取出一个后将相应的冒号和分号替换成#)。

很简单
var
ss: Tstringlist;
然后在程序中
ss := tstringlist.Create;
ExtractStrings([','], [' '], pchar(S), ss);

然后你需要的字符就会被分割到ss.Strings[0]至ss.Strings[ ss.Count - 1]之间的数组中,再怎么放入x和y不用写了吧。

我用C#的,里面有split,我相信delphi里面也有类似的函数:
string str='2011-3-17';
string[] listStr=str.split('-');

-------------------------------------
我找了一下,不知道是delphi里面的系统函数还是人家写,你可以拿去用吧:
//根据字符串,拆分字符串,相当于vb中的split函数
function SplitString(const Source,ch:string):TStringList;
var
temp:String;
i:Integer;
begin
Result:=TStringList.Create;
//如果是空自符串则返回空列表
if Source=''''''''
then exit;
temp:=Source;
i:=pos(ch,Source);
while i<>0 do
begin
Result.add(copy(temp,0,i-1));
Delete(temp,1,i);
i:=pos(ch,temp);
end;
Result.add(temp);
end;

------------------------------------
日期不知道你是取的是哪一部分,应该按顺序来:
temp[0]:2011
temp[1]:3
temp[2]:17

Delphi的Tstringlist直接就可以拿来分割了

var
list : TStringlist;
begin
list := TStringlist.Create;
list.Delimiter := '-';
list.DelimitedText := '1987-11-16';

showmessage(list.Strings[0]); //1987
showmessage(list.Strings[1]); //11
showmessage(list.Strings[2]); //16

var
myTime : TDate;
i : integer;
begin
myTime := strToDate('2011-3-17');
i := round((now - mytime)*24*3600); //从myTime到现在经历的秒数 ;


elphi 7是什么
(7)Delphi使用独特的VCL类库,使得编写出的程序显得条理清晰,VCL是现在最优秀的类库,它使得Delphi在软件开发行业处于一个绝对领先的地位。用户可以按自己的需要,任意的构建、扩充、甚至是删减VCL,以满足不同的需要。(8)从Delphi8开始Delphi也支持.Net框架下程序开发。当前DELPHI 已经成为一个品牌,而不...

Delphi 中串口通讯的实现
_elphi 是新一代可视化开发工具,它具有功能强大、简便易用和代码执行速度快等特点,是全球公认的快速应用开发工具技术的先驱者,它越来越在构架企业信息系统方面发挥着重要作用。由于Delphi 这些显著特点,许多程序员选择Delphi作为开发工具编制各种应用程序。但是,令人惋惜的是Delphi没有自带串口通讯的控件,...

计算机二级有哪些种类?
二级C、二级C++、Visual Basic语言程序设计、Visual FoxPro数据库程序设计、Access数据库程序设计、Java语言程序设计、抚elphi语言程序设计、公共基础知识 参考资料:baike.baidu\/view\/51239 计算机等级都有哪些? 最高四级,可以参考百度百科baike.baidu\/view\/15056,如果不是计算机专业的话,我建议考一级Office就好了,因为...

特提斯喜马拉雅沉积南带
20.黄绿色钙质页岩,产钙质超微化石Coccolithus pelagicus,Dicoaster sp.,Spheno-lithus radians,Chiasmolithus consuetus,Nannotetrina fulgens,Helicosphera sp.,Reticulofenestra bisecta,R.umbilica,Tribrachiatus orthostylus;有孔虫Fissoelphi-dium sp.,Globanomalina sp.,?Stetsonia sp.,Lockhatia haimei,Rotal...

丰泽区19775903511: delphi如何按固定的分隔符来分割字符串,并且把分割出来的字符串放到数组中?具体的代码如何实现? -
捷云惠博: Delphi的Tstringlist直接就可以拿来分割了varlist : TStringlist; beginlist := TStringlist.Create;list.Delimiter := '-';list.DelimitedText := '1987-11-16'; showmessage(list.Strings[0]); //1987showmessage(list.Strings[1]); //11showmessage(list.Strings...

丰泽区19775903511: delphi 一个文本文件,怎样根据分隔符 "******"
捷云惠博: 用过C语言吗?用同样的原理即可.或者使用TStringList将文件读入后处理,然后再写入文件.

丰泽区19775903511: delphi 如何分割文本 -
捷云惠博: function split(s: string; Ch: string):TStringList ; //前一个参数是操作的字符串,后一个是分隔符 var Temp:String; I:Integer; chLength:Integer; begin Result:=TStringList.Create; //如果空字符串则返回空列表 if s='' then Exit; Temp:=s; I:=Pos(ch,s); ...

丰泽区19775903511: delphi中如何分割一段文本?
捷云惠博: 忘记注释copy(字符串,0,COPY长度);如copy('aaa|bb|cccc', 0, Pos('|', 'aaa|bb|cccc') - 1);这样copy后得到的是aaa;Pos是指找到指定字符的所在位置以上的 Pos('|', 'aaa|bb|cccc') 其实就是等于4a a a | b b b | c c c....1 2 3 4 {位}所以得减1就是不包括 '|' 本身

丰泽区19775903511: delphi 如何分割文件
捷云惠博: 没有必要用二进制标记.按字节处理就可以了.你是要把文件按bit拆分吗?那样才回用到二进制处理的方法

丰泽区19775903511: delphi 如何分割某一格式的文本?
捷云惠博: ///分割一个字符串,其中分割的标志是chfunction SplitString(const source,chtstrings;function SplitString(const source,chtstrings;var temp:string; i:integer;begin result:=tstringlist.Create; temp:=source; i:=pos(ch,source); while i<>0 do begin result.Add(copy(temp,0,i-1)); delete(temp,1,i); i:=pos(ch,temp); end; result.Add(temp);end;

丰泽区19775903511: delphi导出为TXT格局怎么做,请求文件一共有7列,文件中每列之间以TAB做为分隔符号
捷云惠博: 1导出txt不难,以下是办法建立一个SaveDialog1控件,一个buttonbutton用来保存,点击事宜是:end;procedure TForm9.Button1Click(Sender: TObject);你可以做代码检查输出的内容.,碰到'/'就调换成换行符tab,或者每5个字就插入一个...

丰泽区19775903511: 如何对字符串分为子串
捷云惠博: 告诉你两个我自编的函数function GetSubStrForward(SubStr,SourceStr:String;IncludeSubstr:Boolean):String ;VarIndex:word ;begin Index:= pos(SubStr,SourceStr) ; if IncludeSubstr = true then SourceStr:= copy(SourceStr,1,Index+length(SubStr)-1) ...

丰泽区19775903511: 在delphi中如何把大的字符串分成固定大小的几个小字符串 -
捷云惠博: 用Copy啊.给你随手写了一个:procedure TForm1.Button1Click(Sender: TObject); var s: String; s1, s2, s3, s4: String; i: Integer; begin s := '1234567890'; i := 1; s1 := Copy(s, i, 3); ShowMessage(s1); Inc(i, 3); s2 := Copy(s, i, 3); ShowMessage(s2); ...

丰泽区19775903511: Delphi中有一个panel,然后想把它用TSplitter分为上下俩部分,上面的又分为左右俩部分怎么搞 -
捷云惠博: 一个 panel 使用 Splitter 控件进行分割比较困难(splitter 控件一般是不同组件之间进行的分割),可以考虑使用4个 panel 来进行(或者换用 RzSplitter 等控件):

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网