Develop
2013.04.23 16:21
[c#] 정규표현식을 이용한 문자열에서 태그 제거함수
조회 수 17805 댓글 0
첨부 '1' |
|
---|
코드와 실행 내용
using System.Text.RegularExpressions; public string remove_html_tag(string html_str) { // 정규표현을 이용한 HTML태그 삭제 return Regex.Replace(html_str, @"[<][a-z|A-Z|/](.| )*?[>]", ""); }
[] 이것은 한글자가 동일하다는 의미이며 이안에는 범위를 지정할 수 있다. [a-z]라고 하면 a부터 z까지 한글자 라는 의미가 된다.
버티컬 바(Vertical bar)또는 파이프(pipe) 이라고 하는 | 이기호는 or의 의미가 된다. 프로그래밍에서도 버티컬 바 두개는 or 연산자이다. 따라서 [a-z|/]는 a부터z까지 또는 / 문자 한글자 를 의미한다.[<][a-z|/] 이것의 의미는 첫번째 글자는 < 이고 두번째 글자는 a부터 z까지 하나 이거나 / 인것 이라는 의미가 된다. 구둣점(.)은
(new line)을 제외한 모든 글자를 의미 하므로 뉴라인문자 까지 포함한 모든 문자의 하나 또는 그이상의 문자열을 의미하기 위해서는 (.|
) 이라고 표현해야 한다. *? 는 가능하면 반복이 적은 첫번째 일치를 의미한다. 따라서 [<][a-z|/](.|
)*?[>] 는 <으로 시작하고 두번째 글자는 a부터 z까지 이거나 / 이며 중간에 한자또는 그이상의 어떤 글자가 있어도 되지만 끝부분에는 가능하난 반복이 적은 첫번째 > 까지를 찾아서 지우게 되므로 태그만 제거된다.
정규표현은 Case senstive 하기 때문에 (이말은 대소문자를 구분한다는 말임) 추가로 [a-z|A-Z] 헝태로 코드에서 바꿔 주면 된다. 역시 or을 의미하는 파이프를 사용해 주면된다.
출처 : http://blog.naver.com/devace?Redirect=Log&logNo=20063206854
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
561 | Develop | [c] 웹 메모장.. ㅋㅋ | hooni | 2013.04.23 | 6823 |
560 | System/OS | php.ini 설정 안됐을때.. ㅋㅋ | hooni | 2013.04.23 | 11639 |
559 | Develop | [java] RGB코드를 HEX코드로 변환하는 코드 ㅎㅎ | hooni | 2013.04.23 | 8013 |
558 | Develop | 라이브러리에 대한 설명 (static & dynamic library) | hooni | 2013.04.23 | 6944 |
557 | Develop | [c] 파일(File)의 연결과 연결 해제 (link, unlink, chown) | hooni | 2013.04.23 | 9543 |
556 | Develop | [js] 실행되는 디렉토리 확인하는 스크립트.. | hooni | 2013.04.23 | 6764 |
555 | Develop | [c++] mfc 윈도우에서 ODBC 사용하여 MDB파일 읽기.. ㅋㅋ | hooni | 2013.04.23 | 9118 |
554 | Develop | [c++] String Tokenizer (나중에 c 코드로 변경해서 사용할 것) | hooni | 2013.04.23 | 11690 |
553 | Develop | [doc] mfc 매뉴얼 다운 받아서 완성하기.. ㅋㄷ | hooni | 2013.04.23 | 7706 |
552 | PPT | [doc] 인공지능 관련 자료(채팅로봇도 포함..) | hooni | 2013.04.23 | 18001 |
551 | Develop | [c++] 채팅로봇 소스.. ㅋㄷㅋㄷ | hooni | 2013.04.23 | 8878 |
550 | Develop | [c] 쓰레드에 대한 내용 퍼오기..ㅡㅡ; | hooni | 2013.04.23 | 8428 |