我有一个字段,其内容为如下格式:【4888-3333-1】【螺母】【审核】,我想要获取的内容为前面的4888-3333-1,该如何操作?
很急得!在线等待!

解决方案 »

  1.   

    var
      Str:String;Str:='【4888-3333-1】【螺母】【审核】';
    Str:=Copy(Str,3,13);
      

  2.   

    用pos函数, leftstr, rightstr就行了
      

  3.   

    4888-3333-1 格式是固定的吗?
    如果是,就用 ehom(?!) 的答案。不是, 就把cg1120的话想清楚。如何第一个‘【’和第一个‘】’之间
    的内容就是你要取的。
    判断‘【’‘】’的位置用Pos函数。
    讲太明白就没意思了。自己写一点吧。
      

  4.   

    var
      s,s1 : string;
      i,j : integer ;
    begin
      s:= '【4888-3333-1】【螺母】【审核】';
      i := pos('【',s) ;
      if i>0 then
      begin
        j := pos('】',s) ;
        if j > 0 then
          s1 := copy(s,i+1,j-i) ;
      end;
    end;
    s1就是你要的结果。
      

  5.   

    var
      i: integer;
      str, SubStr: string;
    begin
      str := '【4888-3333-1】【螺母】【审核】';
      SubStr := copy(Str, 2, Pos('【', str))
    end;
      SubStr is the answer what you want!
    搞定!
      

  6.   

    哦!多了个i,没有用。 Sorry!
      

  7.   

    var
      str, SubStr: string;
    begin
      str := '【4888-3333-1】【螺母】【审核】';
      SubStr := copy(Str, 2, Pos('】', str) - 1)
    end;
     
    搞定!
    对不起,前面的写错了,忘了减1。
      

  8.   

    var
      str, SubStr: string;
    begin
      str := '【4888-3333-1】【螺母】【审核】';
      SubStr := copy(Str,Pos('【', str)+2, Pos('】', str)-2)
    end;如果全部改为WideString,更好处理!