개발이야기/Java

[Java] 문자열에서 HTML 태그 제거하기 (정규식 사용)

후린개발자 2023. 11. 20.
반응형

아래 소스코드는 removeTagString 메서드를 사용해서 문자열에서 HTML 태그를 제거하여 텍스트를 반환하는 역할을 합니다.

정규표현식 strRegExp은 HTML 태그를 찾아내기 위한 패턴으로, replaceAll 메서드를 이용하여 정규표현식에 매칭되는 부분을 빈 문자열로 대체합니다.

 

 

/**
     * removeTagString
     * <pre>문자열에서 태그 형태를 반환하여 제거한다.</pre>
     * 예 : <p>Hello</p> -> Hello
     * @param strParam
     * @return
     * @throws Exception
     */
    public static String removeTagString(String strParam) throws Exception {
        String strReturn = "";
        String strRegExp = "<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>";

        if(strParam != null) {
            strReturn = strParam.replaceAll(strRegExp, "");
        }
        return strReturn;

    }

    public static void main(String[] args) throws Exception { 
        // 예제 1: 기본 문자열
        String exampleString1 = "<p>Hello</p>";
        String result1 = removeTagString(exampleString1);
        System.out.println("Example 1: " + result1);

        // 예제 2: 복잡한 HTML 문자열
        String exampleString2 = "<div><span>Title.</span><p>Paragraph</p></div>";
        String result2 = removeTagString(exampleString2);
        System.out.println("Example 2: " + result2);

        // 예제 3: 태그가 없는 경우
        String exampleString3 = "Plain text without tags.";
        String result3 = removeTagString(exampleString3);
        System.out.println("Example 3: " + result3);

        // 예제 4: 여러 태그가 중첩된 경우
        String exampleString4 = "<b><i>Bold and italic</i></b>";
        String result4 = removeTagString(exampleString4);
        System.out.println("Example 4: " + result4);
    }

 

 


 

소스코드 결과

반응형

댓글

💲 추천 글