2017-05-21 12 views
1

URLに単語が含まれていない場合、ウェブビューをローカルファイルに転送しようとしています。にはのrangeofstringsが含まれていませんでした。これは仕事をすべきURL文字列に単語が含まれているかどうかを確認するにはどうすればよいですか?

if let url = "http://facebook.com/url/url"{ 

     if url.contains("facebook.com") || url.contains("nocontent") || url.contains("nointernet") || url.contains("paypal.com"){ 
      //Doing something here 
      return true 
     }else{ 

      let htmlFile = Bundle.main.path(forResource: "nocontent", ofType: "html") 
      let html = try? String(contentsOfFile: htmlFile!, encoding: String.Encoding.utf8) 
      webView.loadHTMLString(html!, baseURL: nil) 
     } 
    } 
+0

ちょうど秘密のURLを 場合(の: "スウィフト")string.range!=ゼロ{ のprintln( "存在") } //代替:string.lowercased場合(敏感 を小文字ではない)(の: "SWIFT")の範囲!=ゼロ{ のprintln( "存在") } –

+0

試した@Gagan_iOSはうまくいきません正しく質問をお読みください –

+0

これを試してください..ある時間 '含む'が動作しません。あなたのURLを文字列に変換し、最初のコメントで述べたように範囲を確認してください。 –

答えて

5

ます。var文字列= "ハロースウィフト" などの文字列&使用コードに

if let url = URL(string: "http://facebook.com/url/url") { 

    if url.absoluteString.range(of: "facebook.com") != nil { 

     return true 
    } 

    return false 
} 
+1

ヒント:囲み括弧は必要ありません。 – Moritz

+0

@BoilingLime "http://facebook.com/url/url"はNSURLに置き換えられます。 –

+0

@ O-mkar OK、NSURLではなく 'URL'を使用してください。しかし、 'URL'も' NSURL'も 'range(of:String)'を実装しています。 'let urlString = URL(文字列:" http://facebook.com/url/url ")?. absoluteString' – BoilingLime

関連する問題