In swift2.3 ++ string.indexの演算子の使用が増加します。swift3でString.Indexを増やす方法は?
たとえば、 私は(別名 『@lvalue String.CharacterView.Index』)String.Index @lvalue ' " 単項演算子起こるが『++』型のオペランドに適用することができないコード3迅速に変更
++を"迅速に3
私は を書き換えます。 i + = 1
しかし、このコードでは解決できません。 私を助けてください。
In swift2.3 ++ string.indexの演算子の使用が増加します。swift3でString.Indexを増やす方法は?
たとえば、 私は(別名 『@lvalue String.CharacterView.Index』)String.Index @lvalue ' " 単項演算子起こるが『++』型のオペランドに適用することができないコード3迅速に変更
++を"迅速に3
私は を書き換えます。 i + = 1
しかし、このコードでは解決できません。 私を助けてください。
String.Index
はString.CharacterView.Index
のタイプアリアです。指数は単独では上げることができません。むしろ、インデックスを抽出するために使用したCharacterView
でindex(after:)
インスタンスメソッドを使用することができます。
例:
let str = "foobar"
let chars = str.characters
if let bIndex = chars.index(of: "b") {
let nextIndex = chars.index(after: bIndex)
print(str[bIndex...nextIndex]) // ba
}
それとも、あなたがインデックス(例えばstr.startIndex
)を持っていることを考えると、あなたはString
インスタンスに対しても直接利用できるindex(_:, offsetBy:)
インスタンスメソッドを使用することができます。
let str = "foobar"
let startIndex = str.startIndex
let nextIndex = str.index(startIndex, offsetBy: 1)
print(str[startIndex...nextIndex]) // fo
String.Index
」はdoesnの++
、+=
、または任意の種類の演算子(たとえば、<
,>
,==
など)を持つそれのためにined。インデックスを移動するために定義された他のメソッドがあります。インデックス1の位置を上げるには、コードは次のようになります。string.index(i, offsetBy: 1)
let string = "Some string"
var i = string.startIndex
i = string.index(i, offsetBy: 1)