자바 개발자라면 String의 split 을 잘 알 것이다.
자바의 split 메소드는 점(.)을 사용해서 문자열 분리를 할 수가 없다.
그 이유는 split의 구분 문자열은 실제로는 정규식이기 때문이다. 따라서 마침표(.)는 모든 문자를 나타내는 정규식으로 해석된다.
// Java
String s = "12.345-6.A";
String[] sArr = s.split(".");
for (String str : sArr) {
System.out.print(str + ", ");
}
// 결과는 빈 배열을 반환한다.
// Kotlin
val str : String = "12.345-6.A"
println(str.split("\\.|-".toRegex()))
Kotlin 은 명시적으로 toRegex 확장함수를 사용해 문자열을 정규식으로 변환할 수 있다.
val str : String = "12.345-6.A"
println(str.split("-", "."))
또는 위와 같이 문자를 인자로 넘겨줘도 된다.
'Language > Kotlin' 카테고리의 다른 글
[Kotlin IN ACTION] - Kotlin Interface(인터페이스) (0) | 2022.07.22 |
---|---|
[Kotlin IN ACTION] - Kotlin 로컬 함수와 확장 (0) | 2022.07.21 |
[Kotlin IN ACTION] - Kotlin 컬렉션 처리 (0) | 2022.07.21 |
[Kotlin IN ACTION] - Kotlin 함수 정의와 호출(확장함수) (0) | 2022.07.18 |
[Kotlin IN ACTION] - Kotlin Exception (예외처리) (0) | 2022.07.14 |