코틀린 문자열 자르기
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 }