STL to Collection (4)
cpp에서 사용하는 string 관련기능을 java, kotlin 로 치환해 봅니다.
Java, Kotlin 문자열 관련 객체들에 대해 알아둘점
java
1 |
|
kotlin
1 |
|
- 불변, String constatnt pool, 스레드 세이프 한 부분들을 고려해야 합니다.
기본 문법
substring, find, indexOf, append
cpp
1 |
|
java
1 |
|
kotlin
1 |
|
문자열 대소 비교시 (java, kotlin)
1 |
|
1 |
|
N번째 index에 접근하기
cpp
1 |
|
java
1 |
|
kotlin
1 |
|
- kotlin 의 경우에는 cpp 와 마찬가지로
[]
로 접근할 수 있습니다.
문자열 -> 문자 순회
cpp
1 |
|
java
1 |
|
kotlin
1 |
|
- kotlin 의 경우에는
forEachIndexed
와indices
를 이용하여 인덱스 기반의 조회를 쉽게 할 수 있습니다.
split
cpp
1 |
|
java
1 |
|
kotlin
1 |
|
문자열 뒤집기
cpp
1 |
|
java
1 |
|
kotlin
1 |
|
숫자관련 형변환
cpp
1 |
|
java
1 |
|
kotlin
1 |
|
변환, 치환, 삭제
cpp
1 |
|
java
1 |
|
kotlin
1 |
|
- kotlin 의 String 에서는
removeRange
를 지원합니다. - StringBuilder replace 사용시, target String 은 Regex 로 주어야 합니다.
upper, alpha check
cpp
1 |
|
java
1 |
|
1 |
|
kotlin
의 경우Character
를 사용하지 않아도 됩니다.
정규식 관련
문자열의 정규식 매칭 유무를 따져봅니다.
cpp
1 |
|
java
1 |
|
kotlin
1 |
|
- kotlin 의 경우 java 보다 훨씬 편하게 정규식을 다룰 수 있습니다.
containsMatchIn
을 통해 정규식에 맞는 케이스가 하나라도 있는지 확인할 수 있습니다.matches
를 통해 완벽히 매칭되는 케이스가 있는지 확인할 수 있습니다.find
를 통해서 가장 빨리 매칭되는 결과를 찾을 수 있습니다.findAll
를 통해서 매칭되는 모든 결과를 찾을 수 있습니다.
kotlin 정규식을 다루는 방법은 다른 포스팅으로 작성할 예정입니다.
23.02.12