Swift 學習筆記

使用 Swift 3 程式語言

  • 印出 Array 的索引值 (index) 與資料
let data = ["A", "B", "C", "D", "E"]

for (index, element) in data.enumerated() {
	print("(index), (element)")
}

Output:

0, A
1, B
2, C
3, D
4, E
  • 取出字串中第幾個字元
let text = "abcde"

// Output: a
text[text.index(text.startIndex, offsetBy: 0)]

// Output: d
text[text.index(text.startIndex, offsetBy: 3)]

也可以把個方法包在 extension

extension String {
	func char(at index: Int) -> String {
		return String(self[self.index(self.startIndex, offsetBy: index)])
	}
}

// Output: a
"abcde".char(at: 0)

// Output: d
"abcde".char(at: 3)
  • 從字串後面取出第幾個字元
let text = "012345"

// Output: 5
print(text[text.index(text.endIndex, offsetBy: -1)])

// Output: 4
print(text[text.index(text.endIndex, offsetBy: -2)])
  • 取出子字串 Substring
let text = "012345"

let start = text.index(text.startIndex, offsetBy: 1)
let end = text.index(text.startIndex, offsetBy: 3)
let range = start..<end

// Output: 12
print(text.substring(with: range))

// Output: 12345
print(text.substring(from: start))

// Output: 012
print(text.substring(to: end))
  • 檢查字串中是否有包含某字串
let text = "abcde"

// Output: true
print(text.range(of: "bc") != nil)

// Output: false
print(text.range(of: "x") != nil)
  • 字串反轉
let text = "abc"

// Output: cba
print(String(text.characters.reversed()))
  • String 與 Array 的轉換
let text = "abc"
let textCharactersArray = Array(text.characters) // 將字串轉成 Array

// Output: ["a", "b", "c"]
print(textCharactersArray)

// Output: abc
print(String(textCharactersArray)) // 將字串轉成 Array<Characters> 組成 String

let textArray = ["a", "b", "c"]

// Output: abc
print(textArray.joined()) // 將 Array 的字串組合在一起
  • 進制轉換
// Output: 11010
String(26, radix: 2) // 轉換成 2 進制

// Output: 32
String(26, radix: 8) // 轉換成 8 進制

// Output: 1a
String(26, radix: 16) // 轉換成 16 進制
  • 將每個數字拆開,儲存到 Array 裡
var number = 1234567
var splitted = [Int]()

while number > 0 {
	let n = number % 10
	number = number / 10
	splitted.insert(n, at: 0)
}

// Output: [1, 2, 3, 4, 5, 6, 7]
print(splitted)

其他參考資料:

  1. Apple 官方 Swift 說明文件
  2. Getting Started with Swift – WWDC 2016 – Videos – Apple Developer
廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s