투케이2K

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

Swift

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

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

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

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

- 언어 : Swift5

- 개발 툴 : Xcode

- 구분 : 유틸 파일

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






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

func stringSuperContains(origin: String, search: String) -> Bool {
        
    /*
    // -----------------------------------------
    [stringSuperContains 메소드 설명]
    // -----------------------------------------
    1. String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시
    // -----------------------------------------
    2. 호출 방법 : 
      
      C_Util().stringSuperContains(origin: "hello투케이TWOK", search: "twok") // true
      C_Util().stringSuperContains(origin: "hello투케이TWOK", search: "TWO K") // true
      C_Util().stringSuperContains(origin: "hello투케이TWOK", search: "투케이2k") // false
      C_Util().stringSuperContains(origin: "hello투케이TWOK", search: "2k") // false
    // -----------------------------------------
    3. 리턴 반환 : 문자열 대소문자 및 공백 구분 없이 문자열 포함 하는 경우 true / 아닌 경우 false
    // -----------------------------------------
    */
    
    
    // [초기 리턴 데이터 변수 선언 실시]
    var returnData = false
    var M_LOG = ""
    
    
    // [인풋 데이터 널 체크 수행 실시]
    if C_Util().stringNotNull(str: origin) == true {
        
        // [1] : 원본 문자열 그대로 포함 여부 확인
        if (origin.contains(search) == true) {
            M_LOG = "[SUCCESS] : STEP [1] SEARCH : ORIGIN CONTAINS"
            returnData = true
        }


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

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


        // [3] : 대소문자 구분 없이 포함 여부 확인
        if (returnData == false) {
            removeNullOrigin = removeNullOrigin.lowercased()
            removeNullSearch = removeNullSearch.lowercased()
            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"
        
    }
    
    
    // [로그 출력 실시]
    S_Log._D_(description: "String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시", data: [
        "INPUT [Origin] :: \(origin)",
        "INPUT [Search] :: \(search)",
        "M_LOG :: \(M_LOG)",
        "RETURN :: \(returnData)"
    ])
    
    
    // [리턴 데이터 반환 실시]
    return returnData
}

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






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

================================================================
LOG :: TYPE :: LOG :: 🟢
-------------------------------------------------
LOG :: CLASS PLACE :: C_Util.swift :: stringSuperContains(origin:search:) :: 4529
-------------------------------------------------
LOG :: NOW TIME :: 2025-01-27 13:02:33
-------------------------------------------------
LOG :: DESCRIPTION :: String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시
-------------------------------------------------
LOG :: INPUT [Origin] :: hello투케이TWOK
-------------------------------------------------
LOG :: INPUT [Search] :: TWO K
-------------------------------------------------
LOG :: M_LOG :: [SUCCESS] : STEP [2] SEARCH : REPLACE CONTAINS
-------------------------------------------------
LOG :: RETURN :: true
================================================================

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

 

반응형
Comments