Q&A

  • html에서 태그를 뺀 문자열을 구하려는데 잘안됩니다
html에서 태그를 뺀 데이타를 구하려고 다음 함수를 만들었는데

디버깅을 해보면 잘 나가다가 정작 필요한 문자열을

구하려는 순간 에러가 나타납니다

아래 s1[no]:=s[cnt];부분에서 걸립니다

무엇이 잘못된것일까요?

'<'와 '>'사이에 있는것만 빼고 복사를 하려는것입니다

문자배열말고 포인터를 쓰는 방법도 있을텐데

html에서 태그를 뺀 문자열을 구하는 방법을 아시면 가르쳐주시기 바랍니다



Function RecontSeek(s:string):string;

var

s1:string;

len,cnt,no:integer;

delchk :Boolean;

begin

len:=Length(s);

cnt:=0;

no:=0;

s1:='';

while cnt
if s[cnt]='<' then delchk:=true;

if (delchk=true) and (s[cnt]='>') then delchk:=false;

inc(cnt);

if delchk=false then begin

s1[no]:=s[cnt]; //여기서 에러가 걸립니다

inc(no);

end;

end;

result:= s1;

end;



2  COMMENTS
  • Profile
    컴맹... 2001.02.21 18:27
    안녕하세여..

    컴맹입니다...



    소스를 보니까..

    String 변수를 0번째 인덱스부터 비교 하셨군여...

    String변수의 0번째 인덱스에는 특별한갑이 들어 있습니다..

    그리구 접근할수 없구여...

    따라서..



    cnt,No를 초기화 시켜줄때.. 0이 아니라.. 1로 하시면

    될것 같은데여..



    그럼 이만...



    peritus wrote:

    > html에서 태그를 뺀 데이타를 구하려고 다음 함수를 만들었는데

    > 디버깅을 해보면 잘 나가다가 정작 필요한 문자열을

    > 구하려는 순간 에러가 나타납니다

    > 아래 s1[no]:=s[cnt];부분에서 걸립니다

    > 무엇이 잘못된것일까요?

    > '<'와 '>'사이에 있는것만 빼고 복사를 하려는것입니다

    > 문자배열말고 포인터를 쓰는 방법도 있을텐데

    > html에서 태그를 뺀 문자열을 구하는 방법을 아시면 가르쳐주시기 바랍니다

    >

    > Function RecontSeek(s:string):string;

    > var

    > s1:string;

    > len,cnt,no:integer;

    > delchk :Boolean;

    > begin

    > len:=Length(s);

    > cnt:=0;

    > no:=0;

    > s1:='';

    > while cnt
    > if s[cnt]='<' then delchk:=true;

    > if (delchk=true) and (s[cnt]='>') then delchk:=false;

    > inc(cnt);

    > if delchk=false then begin

    > s1[no]:=s[cnt]; //여기서 에러가 걸립니다

    > inc(no);

    > end;

    > end;

    > result:= s1;

    > end;

    >

  • Profile
    peritus 2001.02.21 20:01
    답변 감사합니다

    그런데 일러주신대로 cnt=1,no=1로 초기화해도 마찬가지입니다

    어떻게하지요?



    컴맹... wrote:

    > 안녕하세여..

    > 컴맹입니다...

    >

    > 소스를 보니까..

    > String 변수를 0번째 인덱스부터 비교 하셨군여...

    > String변수의 0번째 인덱스에는 특별한갑이 들어 있습니다..

    > 그리구 접근할수 없구여...

    > 따라서..

    >

    > cnt,No를 초기화 시켜줄때.. 0이 아니라.. 1로 하시면

    > 될것 같은데여..

    >

    > 그럼 이만...

    >

    > peritus wrote:

    > > html에서 태그를 뺀 데이타를 구하려고 다음 함수를 만들었는데

    > > 디버깅을 해보면 잘 나가다가 정작 필요한 문자열을

    > > 구하려는 순간 에러가 나타납니다

    > > 아래 s1[no]:=s[cnt];부분에서 걸립니다

    > > 무엇이 잘못된것일까요?

    > > '<'와 '>'사이에 있는것만 빼고 복사를 하려는것입니다

    > > 문자배열말고 포인터를 쓰는 방법도 있을텐데

    > > html에서 태그를 뺀 문자열을 구하는 방법을 아시면 가르쳐주시기 바랍니다

    > >

    > > Function RecontSeek(s:string):string;

    > > var

    > > s1:string;

    > > len,cnt,no:integer;

    > > delchk :Boolean;

    > > begin

    > > len:=Length(s);

    > > cnt:=0;

    > > no:=0;

    > > s1:='';

    > > while cnt
    > > if s[cnt]='<' then delchk:=true;

    > > if (delchk=true) and (s[cnt]='>') then delchk:=false;

    > > inc(cnt);

    > > if delchk=false then begin

    > > s1[no]:=s[cnt]; //여기서 에러가 걸립니다

    > > inc(no);

    > > end;

    > > end;

    > > result:= s1;

    > > end;

    > >