使用

2016-08-24 3 views
13
let us = "http://example.com" 
let range = us.rangeOfString("(?<=://)[^.]+(?=.com)", options:.RegularExpressionSearch) 
if range != nil { 
    let found = us.substringWithRange(range!) 
    print("found: \(found)") // found: example 
} 

このコードは、私はインターネットを検索し、私はrangeOfStringrange()に変化したことが見出さスイフト2にバックスラッシュドットcom間substringを抽出します。使用

しかし、私はSwift 3.0でコードを動作させることができませんでした。私たちを手伝ってくれますか ?

編集:私はスイフト3 07-25ビルドを使用しています。

答えて

26

スウィフト3.0rangeOfString構文がこのように変更されました。 Xcodeの8ベータ版6(SDKの最新の更新プログラム)を使用して、最新のSWIFT 3.0では

let us = "http://example.com" 
let range = us.range(of:"(?<=://)[^.]+(?=.com)", options:.regularExpression) 
if range != nil { 
    let found = us.substring(with: range!) 
    print("found: \(found)") // found: example 
} 
+0

をそれがエラーを以下与える: の1-タイプ 'CompareOptions'(別名 'NSString.CompareOptions') 'RegularExpressionSearch' 2 'String'型の値にメンバー 'substringWithRange'がありません。 –

+0

@ H.Cliff最新のSDKについては下記の回答を確認してください – pedrouan

+1

@LeoDabusはそれを編集しました。すみません、それはまた迅速な3のためにそれを設定することを忘れました。 –

5

let us = "http://example.com" 
let range = us.range(of: "(?<=://)[^.]+(?=.com)", options: .regularExpression) 
if range != nil { 
    let found = us.substring(with: range!) 
    print("found: \(found)") // found: example 
}