• DELPHI 字符串分割处理


    DELPHI 字符串分割处理

    Code

    該函數的功能就是取兩個相隔符之間的字符.
    var Source:string
    Source:=<1111>string1<1122><2233>string2<3344><4455>string3<5566>;
    string1:=FindStr('<1111>','<1122>',Source);
    String2:=FindStr('<2233>','<3344>',Source);
    String3:=FindStr('<4455>','<5566>',Source);





    //---------------------------------------------我想取得一个email地址的用户名

    function myuser(email:string):string;
    var
    i,n:integer;
    begin
    n:=pos('@',email);
    result:=copy(email,0,n-1);//改了一下
    end;

    //---------------------------------------------
    下面就可以取出
    leftstr(emaddress,Pos('@',emaddress))

    //---------------------------------------------
    uses IdGlobal;
    User := Fetch(EmailAddress, '@');

    //--------------------------------
    ExtractStrings(要分隔的字符串,分隔字符串用的字符集合,分隔后排在第一位的消去的字符集合,字符串列表对象)





    另一个函数SplitString
    //这个我最喜欢用了
    function SplitString(const source, ch: string): TStringList;
    var
      temp, t2: string;
      i: integer;
    begin
      result := TStringList.Create;
      temp := source;
      i := pos(ch, source);
      while i <> 0 do
      begin
        t2 := copy(temp, 0, i - 1);
        if (t2 <> '') then
          result.Add(t2);
        delete(temp, 1, i - 1 + Length(ch));
        i := pos(ch, temp);
      end;
      result.Add(temp);
    end;

    例子:

    st := SplitString('xxx@hoho.com', '@');

    st[0] = 'xxx';
    st[1] = 'hoho.com';

  • 相关阅读:
    工单系统的设计与实现(4)
    java_tcp_简单示例
    java_udp编程
    mysql 锁问题 (相同索引键值或同一行或间隙锁的冲突)
    行锁与表锁详解
    BTree和B+Tree详解
    深入浅出java常量池
    MySQL三大范式和反范式
    java多线程 栅栏CyclicBarrier
    SpringBoot初始教程之Servlet、Filter、Listener配置
  • 原文地址:https://www.cnblogs.com/lobtao/p/1501716.html
Copyright © 2020-2023  润新知