Notice
Recent Posts
Recent Comments
Link
투케이2K
542. (kotlin/코틀린) [유틸 파일] stringSuperContains : String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시 본문
Kotlin
542. (kotlin/코틀린) [유틸 파일] stringSuperContains : String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시
투케이2K 2025. 2. 1. 10:17[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java
- 개발 툴 : AndroidStudio
- 구분 : 유틸 파일
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
fun stringSuperContains(origin: String, search: String): Boolean {
/**
* // -----------------------------------------
* [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
* // -----------------------------------------
*/
// [리턴 변수 선언]
var returnData = false
var M_LOG = ""
// [로직 처리 실시]
try {
if (stringNotNull(origin) == true) { // [널이 아닌 경우]
// [1] : 원본 문자열 그대로 포함 여부 확인
if (origin.contains(search) == true) {
M_LOG = "[SUCCESS] : STEP [1] SEARCH : ORIGIN CONTAINS"
returnData = true
}
// [2] : 문자열 공백 제거 포함 여부 확인
var removeNullOrigin = origin.replace(" ".toRegex(), "")
var removeNullSearch = search.replace(" ".toRegex(), "")
if (returnData == false) {
if (removeNullOrigin.contains(removeNullSearch) == true) {
M_LOG = "[SUCCESS] : STEP [2] SEARCH : REPLACE CONTAINS"
returnData = true
}
}
// [3] : 대소문자 구분 없이 포함 여부 확인
if (returnData == false) {
removeNullOrigin = removeNullOrigin.lowercase(Locale.getDefault())
removeNullSearch = removeNullSearch.lowercase(Locale.getDefault())
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 (e: Exception) {
S_Log._printStackTrace_(null, S_FinalData.LOG_BUG_STATE, null, e)
M_LOG = "[EXCEPTION] : " + e.message.toString()
}
// [로그 출력 실시]
//*
// ===============================================================
S_Log._D_("String 문자열 대소문자 및 공백 구분 없이 문자열 포함 확인 실시", arrayOf(
"INPUT [Origin] :: $origin",
"INPUT [Search] :: $search",
"M_LOG :: $M_LOG",
"RETURN :: $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]
===================================================================
// --------------------------------------------------------------------------------------
반응형
'Kotlin' 카테고리의 다른 글
Comments