Q&A

  • 오른쪽부터 문자열세는 방법..
안녕하세요..



제목 그대로 문자열이 있으면..오른쪽부터 문자열을 세어서 그자리에 있는게 먼지를

알려고합니다..



예) 45000 이면 맨 오른쪽에 있는 0부터 세어나가면서 4번째 자리의 숫자가 먼지를

알려고 하는데..잘 몰라서 이렇게 질문을 드립니다.



금액이 고정되어(4,5,6 이렇게 몇자리가 나올지 모르는거라) 있는게 아니라..

왼쪽부터 세어나가기는 그렇고..



로직으로는 풀수있을거같은데..함수가 있는지를 알고싶어서요..

로직으로 풀면 넘 코딩량이 많아 질거 같아서..



알고있으시분이 계시면 꼭좀 가르쳐주세요..그럼 즐거운코딩되세요..

1  COMMENTS
  • Profile
    조규춘 2000.07.19 21:15
    초보자 wrote:

    > 안녕하세요..

    >

    > 제목 그대로 문자열이 있으면..오른쪽부터 문자열을 세어서 그자리에 있는게 먼지를

    > 알려고합니다..

    >

    > 예) 45000 이면 맨 오른쪽에 있는 0부터 세어나가면서 4번째 자리의 숫자가 먼지를

    > 알려고 하는데..잘 몰라서 이렇게 질문을 드립니다.

    >

    > 금액이 고정되어(4,5,6 이렇게 몇자리가 나올지 모르는거라) 있는게 아니라..

    > 왼쪽부터 세어나가기는 그렇고..

    >

    > 로직으로는 풀수있을거같은데..함수가 있는지를 알고싶어서요..

    > 로직으로 풀면 넘 코딩량이 많아 질거 같아서..

    >

    > 알고있으시분이 계시면 꼭좀 가르쳐주세요..그럼 즐거운코딩되세요..



    예제를 하나 올려 드리지요...~!

    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;



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    // 연습용 문자열

    Edit1.Text := 'sdA5425A0A5';

    end;



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    ShowMessage('맨 첫번째 ''A'' 문자가 '+ IntToStr(Pos('A',Edit1.Text))+'번째에 있습니다');

    ShowMessage('맨 마지막 ''A'' 문자가 '+ IntToStr(LastPos('A',Edit1.Text))+'번째에 있습니다');

    end;



    end.



    그럼 행복하셔요..,