코틀린 문자열 자르기
delimiter를 기준으로 문자열 자르기(split)
split함수를 이용하면 delimiter를 기준으로 문자열을 자를 수 있다.
예를들어 delimiter가 쉼표라면 문자열을 쉼표를 기준으로 자른다.
split의 리턴값은 List다.
문자열.split(vararg delimiters: Char, ignoreCase: Boolean = false, limit: Int = 0): List<String>
위 인수 중 ignoreCase, limit는 생략 가능하며 생략시 기본값이 사용된다. 일반적인 경우는 delimiters만 지정하면 된다. ignoreCase, limit는 사용해본적이 없어서 아래 코드 주석으로 설명을 대체한다.
/**
* Splits this char sequence to a list of strings around occurrences of the specified [delimiters].
*
* @param delimiters One or more characters to be used as delimiters.
* @param ignoreCase `true` to ignore character case when matching a delimiter. By default `false`.
* @param limit The maximum number of substrings to return.
*/
fun main() {
var input = "brave new world"
println(input) // brave new world
var token = input.split(' '); // delimiter는 공백
println(token) // brave, new, world
println(token[0]) // brave
println(token[1]) // new
println(token[2]) // world
}

개수를 기준으로 문자열 자르기(chunked)
개수를 기준으로 문자열을 자르는 방법은 chunked함수를 이용한다.
chunked의 리턴값도 마찬가지로 List다.
문자열.chunked(size: Int): List<String>
size에 자를 개수를 입력한다.
fun main() {
var input = "brave new world"
println(input) // brave new world
var token = input.chunked(2);
println(token) // brave, new, world
println(token[0]) // br
println(token[1]) // av
println(token[2]) // e
println(token[3]) // ne
println(token[4]) // w
println(token[5]) // wo
println(token[6]) // rl
println(token[7]) // d
}
