자바를 하다보면 정규식 사용하면 좋을 때가 있다. html 문자열의 중 태그 안에 있는 모든 속성을 제거한다든지 말이다. 이 정규식이란 것이 아직까지 딱 와닿지는 않지만, 알아두면 편하다. 많이 사용할 일은 없고, 간혹 사용할 것이긴 하지만 말이다. 자바 정규식을 사용하여 html 태그의 모든 속성을 제거해 보자.
정규식 사용 replaceAll
자바에서 replaceAll 은 변경하고자 하는 모든 단어 문자열을 변경하는 역할을 한다.
그렇기에 정규식을 사용하면 모든 단어를 없애는 효과도 볼 수 있다.
아래는 replaceAll 의 사용법이다.
// 사용구문
public String replaceAll (String regex, String replacement)
// "가"의 모든 항목을 "나"로 바꿉니다.
string.replaceAll ( "가" , "나" );
// "is"의 모든 항목을 "was"로 바꿉니다.
string.replaceAll ( "가나다" , "다라마" );
// 모든 공백을 제거한다.
s1.replaceAll ( "\\ s" , "" );
아래의 코드를 보자.
정규식을 사용할 수도 있다.
문자열로 되어 있는 html에서 모든 속성을 제거하고 태그만 남겨놓는 코드이다.
replaceAll 부분과 인자값으로 들어간 정규식을 살펴보자.
정규식을 다시 공부해 봐야 겠다. 헷갈린다.
public class RemoveAllHtml5TagsAttributes {
public static void main(String[] args) {
// TODO Auto-generated method stub
String vStrTestTitle = "자바 HTML5 태그의 모든 속성 제거하기";
String vStringTags = "";
System.out.println("\n");
System.out.println(" 시작 : " + vStrTestTitle + " -----");
//--------------------------------------------------
StringBuffer vStringBuffer = new StringBuffer();
vStringBuffer.append("<script type=\"text/javascipt\"> var a = 1;</script>");
vStringBuffer.append("<span onmousemove='doBadXss()'>자바스크립트</span>");
vStringBuffer.append("<div id=\"someId\" style=\"color: #000000\"><p class=\"someClass\">Some Text</p><img src=\"images/someimage.jpg\" alt=\"\" /><a href=\"somelink.html\">Some Link Text</a></div>");
vStringTags = vStringBuffer.toString();
System.out.println("\n");
System.out.println("HTML TAGS 원본 : " + vStringTags + " -----");
vStringTags = vStringBuffer.toString().replaceAll("(<\\w+)[^>]*(>)", "$1$2");
System.out.println("\n");
System.out.println("HTML TAGS 속성제거 : " + vStringTags + " -----");
//--------------------------------------------------
System.out.println("\n");
System.out.println(" 종료 : " + vStrTestTitle + " -----");
}
}
반응형
'programming > SpringJava' 카테고리의 다른 글
자바 스프링 스케줄러 구현과 실행 cron 표현식 사용 (0) | 2021.03.31 |
---|---|
자바 스프링 MySQL DB 데이터베이스 연결하기 (0) | 2021.03.29 |
자바 스프링 동작 순서 Controller Service DataAccess (0) | 2021.03.24 |
자바 스프링 한글 깨짐 utf-8 인코딩 변경하기 java spring utf-8 encoding (0) | 2021.03.24 |
java StringBuilder 자바에서 문자열을 동적으로 처리하기 (0) | 2021.03.22 |
댓글