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