Kotlin, 7. 문자열

이도현·2023년 8월 10일
0

Kotlin 공부

목록 보기
7/20

부분 문자열 추출하기

substring

const vall TAVERN_NAME = "Taernly's Folly"

fun main(args: Array<String>) {
	placeOrder()
}

private fun placeOrder() {
  val indexofApostrophe = TAVERN_NAME.indexOf('\'')
  val tarvernMaster = TAVERN_NAME.substring(0 until indexofApostrophe)
  println("마드리갈은 $tarvernMaster 에게 주문한다.")
}
  • until 키워드
    • 범위를 지정
  • 상한값은 포함되지 않음
  • 0 .. (indexofApostrohe-1)

split

특정 문자열을 기준으로 단어를 짤라 리스트에 담아 리턴

const vall TAVERN_NAME = "Taernly's Folly"

fun main(args: Array<String>) {
	placeOrder("shandy,Dragon's Breath,5.91")
}
private fun placeOrder(menuData: String) {
  val indexofApostrophe = TAVERN_NAME.indexOf('\'')
  val tarvernMaster = TAVERN_NAME.substring(0 until indexofApostrophe)
  println("마드리갈은 $tarvernMaster 에게 주문한다.")
  
  val data = menuData.split(',')
  val type = data[0]
  val name = data[1]
  val price = data[2]
  val message = "마드리드갈은 금화 $price$name ($type)를 구입한다."
  println(message)
}

해체선언

const vall TAVERN_NAME = "Taernly's Folly"

fun main(args: Array<String>) {
	placeOrder("shandy,Dragon's Breath,5.91")
}

private fun placeOrder(menuData: String) {
  val indexofApostrophe = TAVERN_NAME.indexOf('\'')
  val tarvernMaster = TAVERN_NAME.substring(0 until indexofApostrophe)
  println("마드리갈은 $tarvernMaster 에제 주문한다.")
  
  val (type, name, price)= menuData.split(',')
  val message = "마드리드갈은 금화 $price$name ($type)를 구입한다."
  println(message)
}

문자열 변경하기

const vall TAVERN_NAME = "Taernly's Folly"

fun main(args: Array<String>) {
	placeOrder("shandy,Dragon's Breath,5.91")
}

private fun toDragonSpeak(phrase: String) = phrase.replace(Regex("[aeiou]")) {
  when(it.value) {
  "a" -> "4"
  "e" -> "3"
  "i" -> "1"
  "o" -> "0"
  "u" -> "|_|"
  else -> it.value
  }
}
private fun placeOrder(menuData: String) {
:
val phrase = "와, $name 진짜 좋구나"
println("마드리갈이 감탄한다: ${toDragonSpeak(phrase)}")
}

문자열은 불변이다

  • String 타입은 불변 객체
  • 한 번 초기화 되면 내용을 수정할 수 없음
  • 수정이 필요한 경우 수정한 내용으로 다시 생성

문자열 비교

  • ==
    - 문자열 내용의 동일성 여부 검사
  • ===
    - 두 변수의 참조값 일치 여부 검사
    • 같은 객체를 참조하는지 여부 검사
profile
좋은 지식 나누어요

0개의 댓글