Dephi2007以任意字符串分隔字符

procedure Tfrm_Main.btnSplitStrClick(Sender: TObject);
var
  Str :string;
  Arr :TStringList;//TArray<string>;
  k:Integer;
procedure SplitString(s:string;Separator:string;var rs:TStringList);
var
  AStr: string;
  idx: Integer;
  ASubStr: string;
begin
  AStr := Trim(s);
  while Pos(Separator, AStr) > 0 do
  begin
    idx := Pos(Separator, AStr);
    ASubStr := Copy(AStr, 1, idx - 1);
    rs.Add(ASubStr); //截取 分隔字符串的前一部分
    AStr := Copy(AStr, idx +Length(Separator), Length(AStr)); //idx + 1
  end;
 if AStr+'a' <> 'a' then  rs.Add(AStr); //如果存在剩余的字符串,则将其存入字符串列表中
end;

begin
  str :='陈先生234>陈先生4545454545abckkkkjkjkjk'+#13#10+'陈先生mmmmmm陈先生我们的中国';
  Arr  :=TStringList.Create;

  SplitString(str,'陈先生',Arr);
  for k := 0 to Arr.Count - 1 do
  begin
     ShowMessage(Arr[k]);
  end;   

end;

注:Xe版本以上用自带的str.Spite(['陈先生']) 返回TArray,使用for i:=low(arr) to high(arr) do 即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值