deliphi 字符串分割_delphi之分割字符串

因为喜欢用文本来记录数据,比如帐号密码等等,一个游戏帐户一行

帐号1,密码1,游戏区11

帐号2,密码2,游戏区11

需要用到分割字符串函数。

delphi的Classes有ExtractStrings函数,感觉用起来不好,后来网上找了个,如下

function SplitString(pString:Pchar;psubString:PChar):TStringList;

var

nSize,SubStringSize:DWord;

intI,intJ,intK:DWORD;

ts:TStringList;

curChar:Char;

strString:string;

strsearchSubStr:string;

begin

nSize:=strLen(pString);

SubStringSize:=strLen(PSubString);

ts:=TStringList.Create;

strstring:='';

inti:=0;

while intI<=(nSize-1) do

begin

if (nsize-inti)>= substringSize then

begin

if ((PString+intI)^=pSubString^) then

begin

intk:=inti;

strSearchSubStr:='';

curchar:=(pstring+intk)^;

strsearchSubStr:=strSearchSubStr+Curchar;

intk:=intk+1;

for intj:= 1 to SubStringSize-1  do

begin

if ((pString+intk)^=(PSubString+intj)^) then

begin

curchar:=(pstring+intk)^;

intk:=intk+1;

strsearchSubStr:=strSearchSubStr+Curchar;

end

else begin

inti:=intk;

strString:=strString+strSearchSubStr;

break; //不匹配 退出FOR

end;

end;

if (intJ=substringSize) or (SubStringSize=1) then

begin

inti:=intk;

ts.add(strstring);

strstring:='';

end;

end

else begin

curChar:=(pString+inti)^;

strstring:=strstring+curchar;

inti:=inti+1;

end;

if inti=nsize then

begin

ts.Add(strString);

strString:='';

end;

end

else begin //将剩下的字符给作为一个字符串复制给字符串集合

strString:=strstring+string(pString+inti);

ts.Add(strstring);

inti:=nsize;

end;

end;

Result:=ts;

end;

用起来比较顺手,就一直用它了,感谢原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值