본문 바로가기
프로그래밍 언어/Kotlin

코테용 코틀린 정리 (1) - 문자열(String)

by fortissimo 2024. 6. 21.

문자열(String)


  • 선언: String 변수명
val String s1;
var String s2 = "hello world!"

 

예시를 위해 String s1이라 가정한다.

 

- 문자열 길이

  • s1.length

-인덱스 접근

  • s1[int index]: 반환 값은 char타입. char 타입과 int 타입의 연산 시 char 타입으로 반환된다.
    • cf. s1.at(int index)는 지원하지 않는다. 오류가 발생한다.
fun main() {
    val s1 = "hello"
    for (i in 0..4)
    {
        System.out.println(s1[i]-97) //char타입이 int 타입으로 자동 변환되어 계산되지 않음.
    }
}

<출력 결과>






s1의 원소들이 a로부터 몇번째인지 확인하고 싶다면 s1[i].toInt()를 통해 int 타입으로 변환 후 계산해야 한다.

 

- 비교

  • ==연산자: 같으면 true를 리턴, 다르면 false를 리턴한다.
  • < 연산자: s1이 s2보다 사전 순으로 앞서면 true를 반환하고, 아니라면 false를 반환한다.
  • > 연산자: s1이 s2보다 사전 순으로 앞서면 false를 반환하고, 아니라면 true를 반환한다.
  • s1.equals(string s2): s2와 같으면 true, 다르면 false를 리턴한다.
  • s1.equals(string s2, Boolean b): b가 true인 경우, 대소문자를 무시하고 비교한다. false인 경우 매개변수가 하나인 것과 동일하다. s2와 같으면 true, 다르면 false를 리턴한다.

 

-멤버 함수

    • String uppercase(): 대문자로 변환한다.
    • String lowercase(): 소문자로 변환한다.
    • String substring(Int index1, Int index2): index1부터 index2 이전까지 자른다. index2가 문자열 인덱스의 범위를 벗어나면 오류( java.lang.StringIndexOutOfBoundsException )가 발생한다.
    • String substring(Int index1 until Int index2): index1부터 index2 이전까지 자른다. index2가 문자열 인덱스의 범위를 벗어나면 오류( java.lang.StringIndexOutOfBoundsException )가 발생한다.
    • String substring(Int index1..Int index2): index1부터 index2까지 자른다. index2가 문자열 인덱스의 범위를 벗어나면 오류( java.lang.StringIndexOutOfBoundsException )가 발생한다.
    • String substring(int index): index1부터 끝까지 자른다.
    • Boolean contains(String s1): s1이 문자열에 있는지 확인한다. 있다면 true를, 없다면 false를 반환한다.
    • Boolean contains(Char c2): c1이 문자열에 있는지 확인한다. 있다면 true를 없다면 false를 반환한다.
    • Int indexOf(String s1) : s1이 처음 나타나는 위치의 index를 반환한다. 없다면 -1을 반환한다.
    • Int indexOf(Char c1): c1이 처음 나타나는 위치의 index를 반환한다. 없다면 -1을 반환한다.
    • String reversed(): 문자열을 뒤집어 반환한다.