それは下付きが不可能ではない要するに、これまでと同じ結果を得るにはさらに1歩のステップが必要です。以下は、私はあなたと同じことをやったが、スウィフト2.2
let myString = "Test string"
let intForIndex = 0
let index = myString.startIndex.advancedBy(intForIndex)
let firstCharacter = myString[index]
スウィフト3.xの/ 4.xできました:
let myString = "Test string"
let intForIndex = 0
let index = myString.index(myString.startIndex, offsetBy: intForIndex)
let firstCharacter = myString[index]
EDIT 1:
コードが更新され、Int
を他の場所で「インデックス」値に渡すことができます。
EDIT 2:
スウィフト3 +スイフト4構文が含まれていました。
extension String {
subscript (index: Int) -> Character {
let charIndex = self.startIndex.advancedBy(index)
return self[charIndex]
}
subscript (range: Range<Int>) -> String {
let startIndex = self.startIndex.advancedBy(range.startIndex)
let endIndex = startIndex.advancedBy(range.count)
return self[startIndex..<endIndex]
}
}
// Usage
let str = "Hello world"
print(str[0]) // H
print(str[0..<5]) // Hello
スウィフトは突然[のn番目の文字を取得する2.2 ... – nekonari
可能な重複して使用することは本当に難しいとなりましたスウィフトプログラミング言語の文字列](http://stackoverflow.com/questions/24092884/get-nth-character-of-a-string-in-swift-programming-language) – Moritz
それはインデックスを持つ文字列に可能ではなかったですSwiftのInt。 – Sulthan