점심식사 맛있게 하셨나요^^*
오늘도 어김없이 게시판을 누비고 다니게 되는군요.ㅠ.ㅠ
<!--CodeS-->
<a href="TA_NOJ_103s.jsp?g2bNoticeNum=20061229071&bidNoticeCt=00">20061229071-00</a>
<a href="TA_NOJ_103s.jsp?g2bNoticeNum=20061229072&bidNoticeCt=01">20061229072-01</a>
<a href="TA_NOJ_103s.jsp?g2bNoticeNum=20061229072&bidNoticeCt=02">20061229072-02</a>
<a href="TA_NOJ_103s.jsp?g2bNoticeNum=20061229072&bidNoticeCt=03">20061229072-03</a>
<!--CodeE-->
위와 같은 문자열에서 예제(g2bNoticeNum=*************&bidNoticeCt=**">)와 같이 * 표시된 부분만 추출하려고 하는데요.
여타 프로그래밍에서는 정규표현식으로 쉽게 가능했지만, 델파이에서는 구현이 안되는 것인지 답답합니다.
pos()를 이용해서 시작position, 끝position 을 지정해서 그 사이에 문자열을 추출하는 것은 가능하였지만,
예를 들어 아래와 같이 추출을 하게되면 원하는 값이 나오지를 않더라구요.
<!--CodeS-->
gcodeStrStart := Pos('&bidNoticeCt=', HTMLStr.strings[index2]);
gcodeStrEnd := Pos('\">', HTMLStr.strings[index2]);
gcodeTemp := copy(HTMLStr.strings[index2], (gcodeStrStart+13), (gcodeStrEnd-gcodeStrStart)-2);
<!--CodeE-->
속시원한 답변 부탁드립니다.
점심먹은것 다 채했어요 ㅠ.ㅠ
이런 식으로 한번 해보세요.
temp1은 HTMLStr.strings[index2]입니다.
gcodeStrStart := Pos('&bidNoticeCt=', temp1) + Length('&bidNoticeCt=');
gcodeStrEnd := Pos('">', temp1);
gcodeTemp := copy(temp1, gcodeStrStart, gcodeStrEnd-gcodeStrStart);
이런식으로는 할 수 있는데요. 차라리 특정한 패턴을 찾아서 처리하는 것이 더 쉬울지도 모르겠습니다.
미약하나마 도움이 되었으면 좋겠습니다.ㅎㅎ