Notice
Recent Posts
Recent Comments
Link
투케이2K
209. (swift5/xcode) [유틸 파일] stringRegexpContains : String 문자열에 특정 정규식 패턴 포함 확인 본문
Swift
209. (swift5/xcode) [유틸 파일] stringRegexpContains : String 문자열에 특정 정규식 패턴 포함 확인
투케이2K 2024. 4. 14. 10:06[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [String 문자열에 특정 정규식 패턴 포함 확인]
// -----------------------------------------------------------------------------------------
func stringRegexpContains(pattern: String, data: String) -> Bool {
/*
// -----------------------------------------
[stringRegexpContains 메소드 설명]
// -----------------------------------------
1. String 문자열에 특정 정규식 패턴 포함 확인
// -----------------------------------------
2. 호출 방법 :
C_Util().stringRegexpContains(pattern: "[ㄱ-ㅎㅏ-ㅣ가-힣]", data: "안녕@!투케이")
C_Util().stringRegexpContains(pattern: "[ㄱ-ㅎㅏ-ㅣ가-힣]", data: "hello12Twok")
C_Util().stringRegexpContains(pattern: "[a-z]", data: "안녕@!투케이")
C_Util().stringRegexpContains(pattern: "[a-z]", data: "hello12Twok")
// -----------------------------------------
3. 리턴 반환 :
true / false
// -----------------------------------------
*/
// [리턴 변수 선언]
var returnData = false
var M_LOG = ""
// [로직 처리 실시]
if C_Util().stringNotNull(str: pattern) == true && C_Util().stringNotNull(str: data) == true {
// [공백 제거]
var nullRemoveString = data.trim()
nullRemoveString = nullRemoveString.replaceAll(_string: " ", _replace: "")
let strArr = Array(nullRemoveString) // [문자열 한글자씩 확인을 위해 배열에 담는다]
// [특수 문자 제거 수행]
var specialRemoveString = ""
if let regex = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive) {
var index = 0
while index < strArr.count { // [string 문자 하나 마다 개별 정규식 체크]
let checkString = regex.matches(in: String(strArr[index]), options: [], range: NSRange(location: 0, length: 1))
if checkString.count == 0 {
index += 1 // [정규식 패턴 외의 문자가 포함된 경우]
}
else { // 정규식 포함 패턴의 문자
specialRemoveString += String(strArr[index]) // [리턴 문자열에 추가]
index += 1
}
}
}
if specialRemoveString.count > 0 { // [정규식 패턴 문자 포함 된 경우]
M_LOG = "[Check] : String Special Contains"
returnData = true
}
else {
M_LOG = "[Check] : String Special Not Contains"
}
}
else {
M_LOG = "[Error] : Input Data Is Null"
}
// [로그 출력 실시]
//*
S_Log._D_(description: "String 문자열에 특정 정규식 패턴 포함 확인", data: [
"INPUT [PATTERN] :: \(pattern)",
"INPUT [DATA] :: \(data)",
"M_LOG :: \(M_LOG)",
"RETURN :: \(returnData)"
])
// */
// [리턴 데이터 반환 실시]
return returnData
}
[결과 출력]
반응형
'Swift' 카테고리의 다른 글
Comments