Sie sollten Ihren ursprünglichen Objective-C-Code halten zu sagen, was Sie tun möchten. (ich meine Ihr Beitrag sowohl den ursprünglichen Code enthalten soll, und das, was Sie bisher getan haben.)
Und Ihre Eingabe String sollte als String so seine wörtlichen:
var aString = "href=\"http://www.corpbpl.com/groupinfo.php?show=95\" onmousedown=\"uaction(this,{up:'90de%=%Nofi7rO6B&l=8upb1p&E%=6&ex=jXTDh5zYQLa9&})\""
In Swift 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
}
In Swift 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
}
Einige Punkte: (mit Swift 2 Terminologie)
rangeOfString(_:)
Die Methode der Swift String zurückgibt Range<String.Index>
, nicht NSRange
. Sie können das Ergebnis nicht einer Variablen von NSRange
zuweisen.
Die startIndex
der zurück Range
zeigt auf das erste Zeichen gefunden, die endIndex
der zurück Range
zeigt auf den nächsten zu dem letzten Zeichen gefunden.
Die rangeOfString(_:options:range:locale:)
Methode (scheinbar rangeOfString(_:range:)
im obigen Code) ist besser für die Suche einer Zeichenfolge innerhalb eines begrenzten Bereichs, als eine Teilzeichenfolge erstellen.
Zeigen Sie, was Sie in Swift versucht haben. – Larme
ja ich bin jetzt fertig erzählen –