string
-
Swift - String CompareOptions (2)Programming/Swift 2021. 8. 5. 11:37
오늘은 지난 포스팅에 이어 compareOptions에 대해서 공부하도록 하겠습니다. numeric numeric option은 문자열 안에 있는 숫자를 숫자로 인식하여 비교할 때 사용합니다. 정수 2와 10을 비교하면 당연히 2 "10" 라는 결과가 나오게 됩니다. 만약 우리가 파일을 이름 순서대로 정렬하고자 한다면 문제가 발생합니다. File2.txt File3.txt File10.txt .... 이렇게 정렬하고 싶은데 문자열을 비교하여 정렬을 하면 "File10.txt"는 "File2.txt..
-
Swift - String CompareOptions (1)Programming/Swift 2021. 8. 4. 15:47
오늘은 이전에 사용하던 options 파라미터의 타입인 CompareOptions에 대해서 공부하도록 하겠습니다. compare(_:options:) 메서드에서 options 파라미터를 보면 String.CompareOptions 타입으로 선언되어 있습니다. String.CompareOptions는 NSString.CompareOptions 의 typealias입니다. (typealias에 대한 설명은 이전 포스팅을 참고해주세요.) 그럼 NSString.CompareOptions를 한번 찾아보겠습니다. 이름에 Compare만 들어갔다고 Comparing에만 사용되는 타입이 아닙니다. Searching, Comparing, Sorting에 사용됩니다. 생각해보면 compare(_:options:) 메서드에..
-
Swift - String Search (문자열 검색)Programming/Swift 2021. 8. 3. 11:19
오늘 공부해볼 주제는 검색입니다. 크게 어렵지 않고 지금까지 했던 것처럼 메서드를 잘 이용하면 쉽습니다. 그럼 시작하겠습니다! contain(_:) 가장 기본적인 메서드는 contains(_:) 입니다. 파라미터로 전달한 문자나 문자열이 존재한다면 true 없다면 false를 리턴해주는 메서드입니다. 위에 함수 헤더를 보면 Character를 받지만 StringProtocol, 클로저를 받는 메서드도 존재합니다. 그래서 파라미터에 "H"만 전달해도 되고 "Hello"를 전달해도 정상적으로 잘 작동하는 것을 확인할 수 있습니다. "S"는 존재하지 않기 때문에 false가 리턴되는 것을 볼 수 있습니다. 메서드를 보면 options 파라미터가 없습니다. Swift는 대소문자를 구분하기 때문에"hello"를 ..
-
Swift - Compare String (String 비교하기)Programming/Swift 2021. 8. 2. 13:27
안녕하세요 BeePeach입니다 :) 오늘 공부할 내용은 문자열 비교입니다. 문자열은 서로 같은지 다른지 뿐만 아니라 대소도 비교할 수 있습니다. 대소를 비교할 때 기준은 ASCII Code를 따릅니다. 10진수로 대문자보다 소문자가 32 크기 때문에 소문자와 대문자를 비교하면 소문자가 더 큽니다. 그럼 바로 코드를 보도록 하겠습니다. 가장 쉽게 비교하는 방법은 비교연산자를 사용하는 것입니다. 기본적으로 Swift는 대소문자를 구분하기 때문에 두 문자열이 다른 것을 알 수 있습니다. 우리가 생각하기에 B가 b보다 크다고 생각하기 쉽지만 ASCII 코드가 비교 기준이므로 대문자로 시작한 Beepeach가 beepeach보다 작은 것을 확인할 수 있습니다. compare(_:options:range:loca..
-
Swift - String Method, Property (Delete)Programming/Swift 2021. 8. 1. 20:56
오늘 String CRUD 중 D(Delete)에 대해서 공부를 해보겠습니다. remove(at:) remove(at:) 메서드는 Index의 문자를 삭제하고 리턴합니다. 중요한 점은 삭제만 하는게 아니라 삭제한 문자를 리턴해주는 것입니다. 헷갈리지 않아야 하는 부분은 삭제하고 남은 부분을 리턴해주는 게 아닙니다. 원본을 삭제시키고 삭제된 문자를 리턴하는 것입니다. @discardableResult 특성이 붙으면 return 값을 사용하지 않아도 경고가 표시되지 않습니다. 그래서 삭제만하고 리턴한 값을 사용하지 않아도 괜찮습니다. 주의할 부분은 정확한 Index를 전달해야 합니다. 만약 Index를 잘못 전달하게 되면 에러가 발생합니다. 마지막에 !를 삭제하기 위해서 endIndex를 사용했습니다. 하지..
-
Swift - String Method, Property (Update)Programming/Swift 2021. 7. 26. 14:03
오늘은 String CRUD 중 U(Update)에 대해서 공부해보도록 하겠습니다. Update의 대표적인 케이스는 추가, 삽입, 수정이 있습니다. 추가하기 Update에 가장 기초적인 것은 문자열에 다른 문자열을 연결시키는 것입니다. 우리가 배웠던 문법을 이용하여 문자열을 쉽게 더하는 방법은 + 연산자를 사용하는 방법입니다. 문자열 상수를 직접 더해도 되고 문자열 리터럴을 이용해서 더해도 됩니다. + 연산자에서 주의해야 할 부분은 중간에 공백이 추가되지 않습니다. 그냥 + 로 더하기만 한 문자열에는 공백이 없는 점을 확인해주세요. 공백을 넣고 싶다면 직접 추가시켜야합니다. 그럼 이제 String이 제공하는 메서드를 이용하여 문자열을 더해보겠습니다. append(_:) 처음에 사용할 메서드는 append..
-
Swift - String Method, Property (Create, Read)Programming/Swift 2020. 10. 27. 23:43
오늘은 String의 method와 property에 대해서 공부하도록 하겠습니다. method와 property가 무엇인지 모르시는 분도 계실 텐데요. 자세한 내용은 structure, class 포스팅에서 다루도록 하겠습니다. 지금은 간단하게 method는 Type에 선언된 함수(function), property는 Type에 선언된 상수, 변수로 생각해주세요. Method와 Property에 대해서 공부할때는 CRUD (Create Read Update Delete) 즉 생성, 읽기, 업데이트, 삭제 순서로 살펴보겠습니다. 오늘은 이 중에 Create와 Read에 대해서 공부하겠습니다. Create 우리가 String Type의 상수나 변수를 생성할때 어떻게 생성했나요?? String Literal..
-
Swift - String - String의 종류, Multi-line String LiteralProgramming/Swift 2020. 10. 14. 23:26
오늘은 String에 대해서 자세히 공부해 보도록 하겠습니다 :) Swift에서는 String의 종류를 두 가지로 나눌 수 있습니다. Swift String Foundation String 우리가 지금까지 사용했던 String은 Swift String입니다. 지난 Type Casting 포스팅에서 한번 언급한 적이 있는 NSString을 기억하시나요? NSString이 바로 Foundation String입니다. 그럼 간단하게 두 String의 차이점을 알아보겠습니다. Swift String String이 바로 Swift String입니다. String은 Structure(구조체)입니다. Structure이기 때문에 Value Type(값 형식)입니다. String을 Mutability(가변) Strin..