투케이2K

81. (swift/xcode) [유틸 파일] start , end 시작 및 종료 기준 특정 문자 모두 제거 실시 본문

Swift

81. (swift/xcode) [유틸 파일] start , end 시작 및 종료 기준 특정 문자 모두 제거 실시

투케이2K 2022. 8. 3. 10:43

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [start 시작 기준 특정 문자 지우기 실시]
    func startRemoveChar(string: String, char: String) -> String {
        
        /*
        // -----------------------------------------
        [startRemoveChar 메소드 설명]
        // -----------------------------------------
        1. start 시작 기준 특정 문자 지우기 실시
        // -----------------------------------------
        2. 호출 방법 : C_Util().startRemoveChar(string: "@@@@@투케이@", char: "@")
        // -----------------------------------------
        3. 리턴 반환 : 투케이@
        // -----------------------------------------
        */
        
        // [초기 리턴 데이터 변수 선언 실시]
        var returnData = ""
        
        // [인풋 데이터 널 체크 수행 실시]
        if string != nil
            && string.count>0
            && string != ""
            && string.trimmingCharacters(in: .whitespacesAndNewlines) != ""
            && string.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
            && string.isEmpty == false
            
            && char != nil
            && char.count>0
            && char != ""
            && char.trimmingCharacters(in: .whitespacesAndNewlines) != ""
            && char.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
            && char.isEmpty == false {
            
            // [전체 문자열에서 특정 문자를 포함하는지 확인 실시]
            if string.contains(char) == true {
                
                // [플래그 값 지정 실시]
                var stopFlag = false
                
                // [for 반복문을 돌면서 데이터 삽입 실시]
                for i in stride(from: 0, through: string.count-1, by: 1) {
                    
                    let charIndex = string.index(string.startIndex, offsetBy: i)
                    let charData = string[charIndex]
                    
                    // [문자열기 제거하려는 문자와 같은 경우]
                    if String(describing: charData) == char {
                        
                        if stopFlag == false {
                        }
                        else {
                            // [리턴 변수에 삽입 실시]
                            returnData = returnData + String(describing: charData)
                        }
                    }
                    else {
                        
                        // [플래그 값 변경 실시]
                        stopFlag = true
                        
                        // [리턴 변수에 삽입 실시]
                        returnData = returnData + String(describing: charData)
                    }
                }
            }
        }
        
        // [로그 출력 실시]
        //*
        print("")
        print("====================================")
        print("[C_Util >> startRemoveChar() :: start 시작 기준 특정 문자 지우기 실시]")
        print("-------------------------------")
        print("input [string] :: \(string)")
        print("-------------------------------")
        print("input [char] :: \(char)")
        print("-------------------------------")
        print("return [string] :: \(returnData)")
        print("====================================")
        print("")
        // */
        
        // [리턴 데이터 반환 실시]
        return returnData
    }





    // MARK: - [end 종료 기준 특정 문자 지우기 실시]
    func endRemoveChar(string: String, char: String) -> String {
        
        /*
        // -----------------------------------------
        [endRemoveChar 메소드 설명]
        // -----------------------------------------
        1. end 종료 기준 특정 문자 지우기 실시
        // -----------------------------------------
        2. 호출 방법 : C_Util().endRemoveChar(string: "@투케이@@@@@", char: "@")
        // -----------------------------------------
        3. 리턴 반환 : @투케이
        // -----------------------------------------
        */
        
        // [초기 리턴 데이터 변수 선언 실시]
        var returnData = ""
        
        // [인풋 데이터 널 체크 수행 실시]
        if string != nil
            && string.count>0
            && string != ""
            && string.trimmingCharacters(in: .whitespacesAndNewlines) != ""
            && string.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
            && string.isEmpty == false
            
            && char != nil
            && char.count>0
            && char != ""
            && char.trimmingCharacters(in: .whitespacesAndNewlines) != ""
            && char.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
            && char.isEmpty == false {
            
            // [전체 문자열에서 특정 문자를 포함하는지 확인 실시]
            if string.contains(char) == true {
                
                // [플래그 값 지정 실시]
                var stopFlag = false
                
                // [for 반복문을 돌면서 데이터 삽입 실시]
                for i in stride(from: string.count-1, through: 0, by: -1) {
                    
                    let charIndex = string.index(string.startIndex, offsetBy: i)
                    let charData = string[charIndex]
                    
                    // [문자열기 제거하려는 문자와 같은 경우]
                    if String(describing: charData) == char {
                        
                        if stopFlag == false {
                        }
                        else {
                            // [리턴 변수에 삽입 실시]
                            returnData = String(describing: charData) + returnData
                        }
                    }
                    else {
                        
                        // [플래그 값 변경 실시]
                        stopFlag = true
                        
                        // [리턴 변수에 삽입 실시]
                        returnData = String(describing: charData) + returnData
                    }
                }
            }
        }
        
        // [로그 출력 실시]
        //*
        print("")
        print("====================================")
        print("[C_Util >> endRemoveChar() :: end 종료 기준 특정 문자 지우기 실시]")
        print("-------------------------------")
        print("input [string] :: \(string)")
        print("-------------------------------")
        print("input [char] :: \(char)")
        print("-------------------------------")
        print("return [string] :: \(returnData)")
        print("====================================")
        print("")
        // */
        
        // [리턴 데이터 반환 실시]
        return returnData
    }
 

[결과 출력]


반응형
Comments