Kotlin 문자열 처리 - 문자열 템플릿과 함수 활용하기
Kotlin에서는 문자열 처리와 관련된 여러 기능들이 편리하게 제공됩니다. 문자열 템플릿부터 유용한 문자열 함수들까지, 다양한 기능들을 학습하면서 효율적으로 문자열을 다루는 방법을 배워봅시다.
1. 문자열 템플릿
Kotlin에서는 문자열을 좀 더 직관적이고 쉽게 조작할 수 있도록 문자열 템플릿을 제공합니다. 문자열 템플릿은 문자열 안에 변수를 삽입하거나 간단한 표현식을 사용할 수 있는 방법입니다.
문자열 템플릿 사용 예제
다음은 문자열 템플릿의 간단한 예제입니다.
fun main() {
val name = "소프트웨어 공장"
val year = 2024
println("안녕하세요, 저는 $name 입니다. 현재 연도는 $year 입니다.")
}
출력 결과:
안녕하세요, 저는 소프트웨어 공장 입니다. 현재 연도는 2024 입니다.
문자열 템플릿은 $
기호를 사용하여 변수를 문자열 안에 직접 삽입할 수 있습니다. 또한, 중괄호 {}
를 사용하면 표현식도 삽입할 수 있습니다.
fun main() {
val price = 1000
println("총 가격은 ${price * 3}원 입니다.")
}
출력 결과:
총 가격은 3000원 입니다.
$
뒤에 오는 변수는 중괄호 없이도 사용할 수 있지만, 표현식을 사용하려면 중괄호 {}
로 감싸야 합니다.
2. 문자열 함수
Kotlin에서는 문자열을 다룰 때 유용한 여러 내장 함수를 제공합니다. 자주 사용되는 몇 가지 함수들을 살펴보겠습니다.
2.1 split() 함수
split()
함수는 문자열을 특정 구분자를 기준으로 나누어 리스트로 반환합니다.
fun main() {
val text = "사과, 바나나, 오렌지"
val fruits = text.split(", ")
for (fruit in fruits) {
println(fruit)
}
}
출력 결과:
사과
바나나
오렌지
위 예제에서는 ", "
를 기준으로 문자열을 나누어 리스트로 반환합니다.
2.2 replace() 함수
replace()
함수는 특정 문자열을 다른 문자열로 대체할 때 사용됩니다.
fun main() {
val text = "안녕하세요, 소프트웨어 공장입니다."
val newText = text.replace("소프트웨어 공장", "Kotlin 교육 블로그")
println(newText)
}
출력 결과:
안녕하세요, Kotlin 교육 블로그입니다.
replace()
함수는 첫 번째 인자로 대체하고자 하는 문자열, 두 번째 인자로 새로운 문자열을 받습니다.
2.3 substring() 함수
substring()
함수는 문자열의 특정 부분을 추출하는 데 사용됩니다.
fun main() {
val text = "소프트웨어 공장 Kotlin"
val part = text.substring(6, 9)
println(part)
}
출력 결과:
공장
substring(startIndex, endIndex)
형태로 사용하며, startIndex
부터 endIndex
전까지의 문자열을 추출합니다. (인덱스는 0부터 시작합니다)
3. 문자열 비교 및 조작
Kotlin에서 문자열 비교와 조작도 쉽게 할 수 있습니다. 여기에서는 문자열 비교와 관련된 몇 가지 방법을 살펴봅니다.
3.1 문자열 비교
문자열 비교는 ==
연산자를 사용하거나 equals()
메서드를 사용하여 수행할 수 있습니다.
fun main() {
val text1 = "Kotlin"
val text2 = "kotlin"
// 대소문자 구분 비교
if (text1 == text2) {
println("같은 문자열입니다.")
} else {
println("다른 문자열입니다.")
}
// 대소문자 무시하고 비교
if (text1.equals(text2, ignoreCase = true)) {
println("대소문자를 무시하고 같은 문자열입니다.")
}
}
출력 결과:
다른 문자열입니다.
대소문자를 무시하고 같은 문자열입니다.
==
연산자는 대소문자를 구분하여 문자열을 비교하며, equals()
함수의 ignoreCase
매개변수를 true
로 설정하면 대소문자를 구분하지 않고 비교할 수 있습니다.
3.2 문자열 조작: trim(), toUpperCase(), toLowerCase()
문자열을 다룰 때 공백을 제거하거나 대소문자를 변경하는 작업도 자주 발생합니다.
trim()
: 문자열의 앞뒤 공백을 제거합니다.toUpperCase()
: 문자열을 모두 대문자로 변환합니다.toLowerCase()
: 문자열을 모두 소문자로 변환합니다.
fun main() {
val text = " Kotlin Programming "
println("원본: '$text'")
println("trim(): '${text.trim()}'")
println("toUpperCase(): '${text.toUpperCase()}'")
println("toLowerCase(): '${text.toLowerCase()}'")
}
출력 결과:
원본: ' Kotlin Programming '
trim(): 'Kotlin Programming'
toUpperCase(): ' KOTLIN PROGRAMMING '
toLowerCase(): ' kotlin programming '
trim()
함수는 문자열의 앞뒤 공백을 제거하는 데 유용하며, toUpperCase()
와 toLowerCase()
함수는 문자열을 대문자 또는 소문자로 변환합니다.
4. 예제: 문자열 관련 기능을 활용한 프로그램
이제까지 배운 문자열 기능들을 활용하여 간단한 프로그램을 만들어 봅시다. 사용자로부터 입력을 받아 문자열을 변환하고 처리하는 프로그램입니다.
fun main() {
println("문자열을 입력하세요:")
val input = readLine() ?: ""
// 입력받은 문자열 출력
println("입력하신 문자열: '$input'")
// 공백 제거 후 출력
val trimmed = input.trim()
println("공백 제거: '$trimmed'")
// 대문자 변환 후 출력
val upper = trimmed.toUpperCase()
println("대문자 변환: '$upper'")
// 특정 단어 교체 후 출력
val replaced = upper.replace("KOTLIN", "코틀린")
println("단어 교체: '$replaced'")
// 문자열 나누기
val splitText = replaced.split(" ")
println("단어 나누기:")
for (word in splitText) {
println(word)
}
}
이 프로그램은 사용자가 입력한 문자열을 다듬고 변환하여 다양한 방식으로 출력합니다. 문자열의 공백을 제거하고, 대문자로 변환한 후, 특정 단어를 교체하며, 마지막으로 문자열을 단어 단위로 나누어 출력합니다.
결론
Kotlin에서 문자열을 다루는 방법은 매우 다양하고 강력합니다. 문자열 템플릿을 통해 간편하게 문자열을 조합하고, 다양한 문자열 함수를 사용하여 문자열을 조작할 수 있습니다. 이번 글에서는 문자열 템플릿, split()
, replace()
, substring()
, 그리고 문자열 비교 및 조작에 대해 알아보았습니다. 이를 활용하여 Kotlin에서 문자열을 보다 효율적으로 다룰 수 있을 것입니다.
앞으로도 Kotlin의 다른 기능들을 함께 학습해 나가며, 실력을 쌓아봅시다!
'kotlin' 카테고리의 다른 글
Kotlin 배열(Array), 리스트(List), 맵(Map) (0) | 2024.12.16 |
---|---|
Kotlin 클래스와 객체지향 프로그래밍 (0) | 2024.12.15 |
Kotlin 언어 제어문[ if, when, switch, for, while , do-while ] 가이드 (0) | 2024.12.13 |
Kotlin 언어의 기본 문법과 특징 소개 (0) | 2024.12.12 |
Kotlin 소개 및 개발 환경 설치 (0) | 2024.12.09 |