2016-09-28 9 views
4

I持っスウィフト2で正常に動作し、次のコード:はスウィフト3の範囲内の文字列に変換できない

let myModifiedString = myOriginalString.replacingOccurrences(of: "#(?:\\S+)\\s?", 
      with: "", 
      options: .regularExpression, 
      range: Range(myOriginalString.characters.indices)) 

私はしかし、スウィフト3に私のコードをアップグレード忙しい、と私はエラーを取得します'inout String'は 'String'型に変換できません。

エラーは、myOriginalString.characters.indicesで発生します。

Swift 3では、範囲の実装方法や一部の文字列機能にいくつかの変更が加えられました。私は問題を解決し、この文を適切なSwift 3構文に変換するための簡潔な解決策を見つけることができないようです。ステートメントの適切なSwift 3構文は何ですか?

+0

http://stackoverflow.com/questions/39533523/how-to-compare-のように基本的に同じ問題:あなたは、文字列全体を表す指標の範囲をしたい場合は、このような何かを書く必要がありますrangestring-index-and-defaultbidirectionalindicesstring-characです。 –

答えて

2

スウィフト3では、indicesプロパティがインデックスのコレクションになりました。これ以上の種類の範囲はありません。

let myModifiedString = myOriginalString.replacingOccurrences(of: "#(?:\\S+)\\s?", 
                  with: "", 
                  options: .regularExpression, 
                  range: myOriginalString.startIndex..<myOriginalString.endIndex) 
関連する問題