본문 바로가기

교육/Swift

[swift] 문자열

1. 샘플코드

// 문자열


var s1 = "hello"

var s2 = s1 + " world" // + 가능

print(s2)


// 멤버 함수 속성 활용

// string.characters.함수(속성) 쓸만한 함수가 많다.

print(s2.characters.count)


// 문자열 비교 == s1.eqaul(s2)

// 객체 100번지 p1  p2 200번지 둘다 내부적으로 "abcd" ==하면 포인터만 비교 근데 swift 비교 그래서

// 문자열은 타입. 보통 언어에서 값타입 비교는 == 사용한다.


if s1 == s2

{

    print("같은 문자열")

}


// 문자열 순회 - for in으로 s2 문자하나씩

for ch in s2.characters

{

    print(ch);

}


// 포멧 문자열 만들기

var n = 10

var s3 = "n = \(n)"

print(s3)


// [] 연산자 사용하기 : 정수가 아닌 string.Index타입을 전달해야한다.

var s4 = "abcdefg"

//print(s4[0])// 에러

print(s4[s4.startIndex])

//print(s4[s4.endIndex]) // 다음. 죽음

print(s4[s4.endIndex.predecessor()]) //마지막 글자

print(s4[s4.startIndex.successor()]) //첫번째 다음

print(s4[s4.startIndex.advancedBy(5)]) // 첫번째에서 5글자


let r1 =  s4.startIndex..<s4.startIndex.advancedBy(3)

let s5 = s4[r1]

print(s5)


// 핵심 s4[] []안에는 index혹은 range 넣는다.


// 문자열 수정하기

var s6 = "abcdefg"

let r2 = s6.startIndex.advancedBy(2) ..< s6.startIndex.advancedBy(3)

s6.replaceRange(r2, with: "x") // range만큼을 해당 문자열로 바꿈

print(s6)

'교육 > Swift' 카테고리의 다른 글

[swift] dictionary  (0) 2016.08.04
[swift] 배열  (0) 2016.08.04
[swift] optional  (0) 2016.08.04
[swift] 튜플  (0) 2016.08.04
[swift] 연산자  (0) 2016.08.04