Ich verwende den folgenden Code:
var continousDigitsRange:Range<Int> = Range<Int>(start: 0, end: 0)
Seit dem Update auf Xcode 7.3 (Swift 2.2) habe ich folgenden Hinweis erhalten:
'init (start: end :)' ist veraltet: Es wird in Swift 3 entfernt. Verwenden Sie den Operator '.. <'.
Für mich ist nicht klar, wie man es mit "mit dem Operator '.. <' richtig" übersetzt ".
Antworten:
Du solltest einfach schreiben
var continousDigitsRange1:Range<Int> = 0..<0
oder wenn Sie noch einfacher gehen möchten
var continousDigitsRange = 0..<0
quelle
Erwähnenswert ist auch, dass Sie
substringWithRange
einen String jetzt verwenden könnenlet theString = "Hello, how are you" let range = theString.startIndex.advancedBy(start) ..< theString.startIndex.advancedBy(end) theString.substringWithRange(range)
quelle
Die Swift-Programmiersprache (Swift 2.2) - Grundlegende Operatoren
var continousDigitsRange:Range<Int> = Range<Int>(start: 0, end: 0) --to-- var continousDigitsRange:Range<Int> = 0..<0
quelle
um bmichottes Antwort vollständig zu zeigen ...
let theString = "Hello, how are you today my friend" let start = 3 let end = 15 let range = theString.startIndex.advancedBy(start) ..< theString.startIndex.advancedBy(end) let p = theString.substringWithRange(range) print("this is the middle bit>\(p)<")
Dies erzeugt das mittlere Bit> lo, wie geht es <
quelle
Hinzufügen einiger Punkte in Bezug auf Swift 3.0
// Beispiel für einen zählbaren Bereich.
let range1 = 0..<5
Beispiel für einen zählbaren geschlossenen Bereich
let range2 = 0...5
// Bereich von Grenzen
let range = Range(uncheckedBounds: (range1.lowerBound,range1.upperBound))
// Um den Abstand von substringRange zu ermitteln.
let str = "Hello, how are you" let substringRange = str.characters.indices
// Unter Swift 3.0
let length = substringRange.distance(from: substringRange.startIndex, to: substringRange.endIndex)
// Für Swift 3.0
let length2 = str.distance(from: substringRange.startIndex, to: substringRange.endIndex)
quelle
Ich hatte immer eine Funktion, um den Teilstring-Bereich eines Strings abzurufen. Hier ist meine aktualisierte Funktion für Swift 3:
func getSubStringRange(fullString: String, fromIndex: Int, subStringSize: Int) -> Range<String.Index> { let startIndex = fullString.characters.index(fullString.startIndex, offsetBy: fromIndex) let endIndex = fullString.characters.index(startIndex, offsetBy: subStringSize) let subStringRange = startIndex..<endIndex return subStringRange }
Die Funktion ist ziemlich selbsterklärend - Sie übergeben einen String (fullString), den Index des Strings, an dem der Teilstring beginnt (fromIndex) und wie groß der SubString ist (subStringSize).
Beispiel:
let greeting = "Hi, my name is Nathaniel" let getName = greeting[getSubStringRange(fullString: greeting, fromIndex: 15, subStringSize: 9)] print("Name: \(getName)")
-> Drucke: "Name: Nathaniel"
quelle
)
nachsubStringSize: Int
endIndex
Grundstück, das SiefullString.
zuvor verpasst habenstartIndex
, wäre das Richtige:let endIndex = fullString.characters.index(fullString.startIndex, offsetBy: subStringSize)