2016-08-03 82 views
-4

我有代碼從字符串中找出子字符串Swift,請大家幫忙!字符串中的子字符串在Swift中

我的代碼找到子串http://corbpl.com/groupinfo.php?show=95是: -

var aString: String = "href=http://www.corpbpl.com/groupinfo.php?show=95 onmousedown=uaction(this,{up:'90de%=%Nofi7rO6B&l=8upb1p&E%=6&ex=jXTDh5zYQLa9&});" 

var hashtag: NSRange = aString.rangeOfString("http://") 

var word: NSRange = 
aString.substringFromIndex(aString.startIndex.advancedBy(hashtag.location)) 
+3

顯示你已經在斯威夫特嘗試。 – Larme

+0

是的,我現在完成告訴 –

回答

3

您應該保留原來的Objective-C代碼來告訴你想要做什麼。 (我的意思是你的帖子應包含原代碼,你做了到現在爲止什麼。)

和你輸入的字符串應該是這樣的一個字符串:

var aString = "href=\"http://www.corpbpl.com/groupinfo.php?show=95\" onmousedown=\"uaction(this,{up:'90de%=%Nofi7rO6B&l=8upb1p&E%=6&ex=jXTDh5zYQLa9&})\"" 

在斯威夫特2:

if let 
    hashtag = aString.rangeOfString("http://"), 
    word = aString.rangeOfString("95", range: hashtag.startIndex..<aString.endIndex) 
{ 
    let hashtagWord = aString[hashtag.startIndex..<word.endIndex] 
    print(hashtagWord) //->http://www.corpbpl.com/groupinfo.php?show=95 
} 

在夫特3:

if 
    let hashtag = aString.range(of: "http://"), 
    let word = aString.range(of: "95", range: hashtag.lowerBound..<aString.endIndex) 
{ 
    let hashtagWord = aString[hashtag.lowerBound..<word.upperBound] 
    print(hashtagWord) //->http://www.corpbpl.com/groupinfo.php?show=95 
} 

幾點:(使用迅速2術語)

  • 迅速串的rangeOfString(_:)方法返回Range<String.Index>,不NSRange。 您無法將結果分配給NSRange的變量。

  • 返回Range指向第一個字符中的startIndex,返回Range點旁邊找到的最後一個字符的endIndex

  • rangeOfString(_:options:range:locale:)方法(在上面的代碼中看起來rangeOfString(_:range:))更適合在一定範圍內搜索字符串,而不是創建子字符串。

3

斯威夫特2.x的

var aString = "href=http://www.corpbpl.com/groupinfo.php?show=95 onmousedown=uaction(this,{up:'90de%=%Nofi7rO6B&l=8upb1p&E%=6&ex=jXTDh5zYQLa9&});" 

var hashtag = aString.rangeOfString("http://") 
var word = aString.rangeOfString("95") 
var hashtagWord = aString.substringWithRange(Range<String.Index>(start: hashtag!.startIndex.advancedBy(0), end: word!.endIndex.advancedBy(0))) 
print(hashtagWord) 

輸出:

http://corbpl.com/groupinfo.php?show=95 
3

試試這個,

let aString: String = "href=http://www.corpbpl.com/groupinfo.php?show=95 onmousedown=uaction(this,{up:'90de%=%Nofi7rO6B&l=8upb1p&E%=6&ex=jXTDh5zYQLa9&});" 

    var arr = aString.componentsSeparatedByString(" ") 

    let newStr = arr[0] as String 

    var resultStr = newStr.stringByReplacingOccurrencesOfString("href=", withString: "")