투케이2K

357. (java/자바) [유틸 파일] stringSuperContains : String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시 본문

Java

357. (java/자바) [유틸 파일] stringSuperContains : String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시

투케이2K 2025. 2. 1. 10:14

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java

 

[소스 코드]

 

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java

- 개발 툴 : AndroidStudio

- 구분 : 유틸 파일

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

public static Boolean stringSuperContains(String origin, String search){

    /**
      * // -----------------------------------------
      * [stringSuperContains 메소드 설명]
      * // -----------------------------------------
      * 1. String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시 : true / false
      * // -----------------------------------------
      * 2. 호출 방식 :
      *
      * C_Util.stringSuperContains("twok,투케이,반갑습니다", "TWOK"); // true
      * C_Util.stringSuperContains("twok,투케이,반갑습니다", "two k"); // true
      * C_Util.stringSuperContains("twok,투케이,반갑습니다", "2k"); // false
      * C_Util.stringSuperContains("twok,투케이,반갑습니다", "투케이2k"); // false
      * // -----------------------------------------
      * 3. 리턴 데이터 : 문자열 대소문자 및 공백 구분 없이 문자열 포함 하는 경우 true / 아닌 경우 false
      * // -----------------------------------------
      * */


    // [리턴 변수 선언]
    boolean returnData = false;
    String M_LOG = "";


    // [로직 처리 실시]
    try {
        if (C_Util.stringNotNull(origin) == true){ // [널이 아닌 경우]

            // [1] : 원본 문자열 그대로 포함 여부 확인
            if (origin.contains(search) == true){
                M_LOG = "[SUCCESS] : STEP [1] SEARCH : ORIGIN CONTAINS";
                returnData = true;
            }


            // [2] : 문자열 공백 제거 포함 여부 확인
            String removeNullOrigin = origin.toString().replaceAll(" ", "");
            String removeNullSearch = search.toString().replaceAll(" ", "");

            if (returnData == false){

                if (removeNullOrigin.contains(removeNullSearch) == true){
                    M_LOG = "[SUCCESS] : STEP [2] SEARCH : REPLACE CONTAINS";
                    returnData = true;
                }

            }


            // [3] : 대소문자 구분 없이 포함 여부 확인
            if (returnData == false){

                removeNullOrigin = removeNullOrigin.toLowerCase();
                removeNullSearch = removeNullSearch.toLowerCase();

                if (removeNullOrigin.contains(removeNullSearch) == true){
                    M_LOG = "[SUCCESS] : STEP [3] SEARCH : LOWER CASE CONTAINS";
                    returnData = true;
                }

            }


            // [최종 로그 값 확인]
            if (returnData == false){
                M_LOG = "[FAIL] : STEP SEARCH CONTAINS FALSE";
            }

        }
        else {
            M_LOG = "[ERROR] : Input Data Is Null";
        }
    }
    catch (Exception e){
        S_Log._printStackTrace_(null, S_FinalData.LOG_BUG_STATE, null, e);

        M_LOG = "[EXCEPTION] : "+String.valueOf(e.getMessage());
    }


    // [로그 출력 실시]
    //*
    // ===============================================================
    S_Log._D_("String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시", new String[]{
            "INPUT [Origin] :: " + String.valueOf(origin),
            "INPUT [Search] :: " + String.valueOf(search),
            "M_LOG :: " + String.valueOf(M_LOG),
            "RETURN :: " + String.valueOf(returnData)
    });
    // ===============================================================
    // */


    // [리턴 반환 실시]
    return returnData;
}

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[결과 출력]
// --------------------------------------------------------------------------------------

===================================================================
[LOG :: CLASS PLACE :: C_Util.stringSuperContains]
----------------------------------------------------
[LOG :: NOW TIME :: 2025-01-27 12:44:05 월요일]
----------------------------------------------------
[LOG :: DESCRIPTION :: String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시]
----------------------------------------------------
[LOG :: INPUT [Origin] :: twok,투케이,반갑습니다]
----------------------------------------------------
[LOG :: INPUT [Search] :: TWOK]
----------------------------------------------------
[LOG :: M_LOG :: [SUCCESS] : STEP [3] SEARCH : LOWER CASE CONTAINS]
----------------------------------------------------
[LOG :: RETURN :: true]
===================================================================

// --------------------------------------------------------------------------------------

 

반응형
Comments