Come ottengo la stringa prima di un determinato carattere in rapido? Il codice sotto è come l'ho fatto nell'Objective C, ma non riesco a svolgere lo stesso compito in Swift. Qualche consiglio o suggerimento su come ottenere questo risultato? rangeOfString
sembra non funzionare affatto in modo rapido (anche se Swift ha agito di nuovo per me).Swift: come ottenere la stringa prima di un determinato carattere?
NSRange range = [time rangeOfString:@" "];
NSString *startDate =
[time substringToIndex:range.location];
Come si può vedere dal codice di cui sopra sono in grado di ottenere la stringa prima del carattere di spazio in Objective C.
Edit: Se provo qualcosa di simile
var string = "hello Swift"
var range : NSRange = string.rangeOfString("Swift")
I ottenere il seguente errore.
Impossibile convertire il tipo di espressione 'NSString' digitare '(String, opzioni: NSStringCompareOptions, gamma: Gamma ?, locale:? NSLocale)'
Non so cosa ho fatto di sbagliato esattamente o come risolverlo correttamente.
In [questa risposta] (http: // StackOverflow.it/a/24161872/2240769) usano anche rangeOfString in Swift e sembra funzionare. –
Ho modificato la mia domanda per spiegare meglio cosa sta succedendo quando provo ad applicare la soluzione. –
Puoi usare 'Range' invece di' NSRange': 'lasciare range: Range? = string.rangeOfString ("Swift") '. Puoi anche lanciare 'String' su' NSString': 'var range: NSRange = (stringa come NSString) .rangeOfString (" Swift ")' – albertamg