Q&A

  • 텍스트의 일부분 가져오기
텍스트의 일부분 가져오기

123456789 라는 텍스트가 있을 경우 왼쪽에서 몇자리를 일기를 원하면 copy('text',1,3)이라 쓰면
'123'라는 text를 일게 됩니다.
만일 오른쪽 끝에서 몇자리를 읽고자하면 어떻게 하나요.
보통 텍스트의 길이를 모를경우 오른쪽 끝에서 몇자리라는 명령어는 어떻게 되는지 궁금합니다.

4  COMMENTS
  • Profile
    하얀까마귀 2003.01.13 20:56
    안녕하세요 하얀까마귀 입니다.

    length(str) 로 길이를 구하시면 간단히 해결될것 같네요..

    copy(str, length(str)-3, 3);

    그럼..


  • Profile
    박성훈 2003.01.13 20:53

    안녕하세요?
    오른쪽에서 읽을 경우도 Copy()함수를 쓰시면 될 듯합니다.

    function RightCopy(S: string;  Len: Integer): string;
    begin
        Result:= Copy(S, Length(S)-Len, Length(S));
    end;
  • Profile
    전제희 2003.01.13 21:23
    길이를 구해서 처리하는 방법은 결국에는 왼쪽을 기준으로 삼은것 입니다.
    제가 궁금한것은 그런것이 아니라 오른쪽 끝에서 몇번째라는 오른쪽기준이 궁금하거든요....^^
  • Profile
    박성훈 2003.01.13 22:23

    Pos함수를 뒤집어 놓은 경우를 말씀하신다면 아래함수를 참고하세요.
    참고로 이함수는 팁란에서 퍼왔습니다.

    function LastPos(Substr: string; S: string): integer;
    var
    sTmp: String;
    iLastPos: integer;
    begin
    sTmp := S;
    iLastPos := Pos(Substr, sTmp);
    if iLastPos > 0 then
    begin
       sTmp := Copy(sTmp, iLastPos + 1, 999);
       while Pos(Substr, sTmp) > 0 do
       begin
         iLastPos := iLastPos + Pos(Substr, sTmp);
         sTmp := Copy(sTmp, Pos(Substr, sTmp)+1, 999);
       end;
    end;
    LastPos := iLastPos;
    end;