🔥 문자열과 문자 연결하기

316자
4분

Swift에서는 문자열과 문자를 매우 쉽게 연결할 수 있습니다. 문자열끼리 연결하려면 간단히 더하기(+) 연산자를 사용하면 되죠.

let string1 = "hello" // "hello" 문자열을 string1 상수에 할당합니다.
let string2 = " there" // " there" 문자열을 string2 상수에 할당합니다.
var welcome = string1 + string2 // string1과 string2를 연결한 결과를 welcome 변수에 할당합니다.
// welcome은 이제 "hello there"과 같습니다.
swift

이미 존재하는 문자열 변수에 다른 문자열을 이어붙이고 싶다면 덧셈 할당 연산자(+=)를 활용할 수 있습니다.

var instruction = "look over" // "look over" 문자열을 instruction 변수에 할당합니다.
instruction += string2 // string2를 instruction 변수에 이어붙입니다.
// instruction은 이제 "look over there"과 같습니다.
swift

Character 타입의 값을 String 변수에 추가하려면 String 타입의 append() 메서드를 사용하면 됩니다.

let exclamationMark: Character = "!" // "!" 문자를 Character 타입의 exclamationMark 상수에 할당합니다.
welcome.append(exclamationMark) // exclamationMark를 welcome 변수 끝에 추가합니다.
// welcome은 이제 "hello there!"과 같습니다.
swift

한편, 여러 줄 문자열 리터럴을 사용해 긴 문자열을 만들 때는 문자열의 모든 줄이 줄바꿈으로 끝나도록 해야 합니다. 마지막 줄도 예외는 아니에요. 아래 코드를 살펴볼까요?

let badStart = """ // 잘못된 예시의 시작을 나타내는 문자열 상수입니다.
    one
    two
    """ // 마지막 줄에 줄바꿈이 없네요.
let end = """ // 끝 부분을 나타내는 문자열 상수입니다.
    three
    """
print(badStart + end) // badStart와 end를 연결해 출력합니다.
// 출력 결과는 두 줄입니다:
// one
// twothree
 
 
let goodStart = """ // 올바른 예시의 시작을 나타내는 문자열 상수입니다.
    one
    two
 
    """ // 마지막 줄에 줄바꿈이 있습니다.
print(goodStart + end) // goodStart와 end를 연결해 출력합니다.
// 출력 결과는 세 줄입니다:
// one
// two
// three
swift

위 코드에서 badStartend와 연결하면 의도치 않게 두 줄짜리 문자열이 만들어집니다. badStart의 마지막 줄에 줄바꿈이 없어서 end의 첫 줄과 합쳐졌기 때문이죠. 반면에 goodStart의 모든 줄은 줄바꿈으로 끝나므로 end와 연결했을 때 기대한 대로 세 줄의 결과가 나옵니다.

이렇게 Swift에서는 문자열과 문자를 더하기 연산자로 손쉽게 이어붙일 수 있습니다. 긴 문자열을 만들 때는 마지막 줄의 줄바꿈까지 잘 확인해야 원하는 결과를 얻을 수 있겠죠?