개발이야기/Java

[Java] 문자열 체크하기 (null, 중복, 숫자, 태그)

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

아래 소스 코드는 문자열을 조작하고 처리하는 작업을 수행하는 메서드들입니다.

간단하지만 자주 사용하는 메서드이니 확인하시면 좋을 것 같습니다.

 

소스코드 설명

ㅇ isEmpty(String str) : 주어진 문자열이 비어있는지 여부를 체크하는 메서드입니다. 문자열이 null이거나 공백 문자로만 이루어져 있거나 "null" 문자열인 경우에 비어있다고 판단하여 true를 반환합니다.

ㅇ isEquals(String orgStr, String comStr) : 두 개의 문자열을 비교하여 동일한지 여부를 확인하는 메서드입니다. 

ㅇ parseInt(String strParam) : 문자열을 정수로 변환하는 메서드입니다. 주어진 문자열이 정수로 파싱 가능한 경우에는 해당 정수 값을 반환합니다. 정수로 변환할 수 없는 경우 NumberFormatException이 발생합니다.

ㅇ removeTagString(String strParam) : 주어진 문자열에서 HTML 태그를 제거하는 메서드입니다. 정규식을 활용하여 문자열 내의 HTML 태그를 모두 제거하고, 태그가 제거된 문자열을 반환합니다.

 

public class TT {
    /**
     * 값이 비어있는지 여부를 체크 비어있을경우 true 리턴
     * @param str 문자열<br>
     * @return<br>
     */
    public static boolean isEmpty(String str) {
        boolean rtn = false;

        if ( str == null || str.trim().equals("") || str.trim().equals("null") ) {
            rtn = true;
        }

        return rtn;
    }
    /**
     * 인자로 받은 String이 null일 경우 대체 값을 리턴한다.
     * null이거나 ""이면 ""반환한다.
     * @param str 문자열<br>
     * @return<br>
     */
    public static boolean isEquals(String orgStr, String comStr) {
        boolean rtn = false;

        if ( orgStr == null || orgStr.trim().equals("") || orgStr.trim().equals("null") ) {
            orgStr = "";
        }

        if ( comStr == null || comStr.trim().equals("") || comStr.trim().equals("null") ) {
            comStr = "";
        }

        if(orgStr.equals(comStr)) {
            rtn = true;
        }

        return rtn;
    }
    /**
     * 문자열에서 숫자 형태를 반환한다.
     * 예 : <p>숫자 Or Null</p> -> 숫자 , 0
     * @param strParam
     * @return
     * @throws Exception
     */
    public static int parseInt(String strParam) throws Exception {
        int strReturn = 0;
        String strRegExp = "<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>";
        
        if(strParam != null) {
            strReturn = Integer.parseInt(strParam);
        }
        return strReturn;    
    }
    
    /**
     * 문자열에서 태그 형태를 반환하여 제거한다.
     * 예 : <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 { 
        // isEmpty() 예제
        String emptyString = "";
        String nullString = null;
        String nonEmptyString = "Hello, World!";

        System.out.println("isEmpty() 예제1:::::::::"+TT.isEmpty(emptyString));     // Output: true
        System.out.println("isEmpty() 예제2:::::::::"+TT.isEmpty(nullString));      // Output: true
        System.out.println("isEmpty() 예제3:::::::::"+TT.isEmpty(nonEmptyString));  // Output: false

        // isEquals() 예제
        String str1 = "Hello";
        String str2 = "Hello";
        String str3 = "World";

        System.out.println("isEquals() 예제1:::::::::"+TT.isEquals(str1, str2));     // Output: true
        System.out.println("isEquals() 예제1:::::::::"+TT.isEquals(str1, str3));     // Output: false

        // parseInt() 예제
        String numericStr = "12345";
    
        int numericValue = TT.parseInt(numericStr);
        System.out.println("숫자: " + numericValue);  // Output: Numeric Value: 12345

        // removeTagString() 예제
        String stringWithTags = "<p>Hello</p> <b>World</b>";
        String stringWithoutTags = TT.removeTagString(stringWithTags);
        System.out.println("태그 제거: " + stringWithoutTags);  // Output: String without tags: Hello World
    }
}

 

 

소스코드 실행결과

 

반응형

댓글

💲 추천 글