Ho una stringa come questa: @"10/04/2011"
e voglio salvare solo il "10" in un'altra stringa. Come lo posso fare?
Ho una stringa come questa: @"10/04/2011"
e voglio salvare solo il "10" in un'altra stringa. Come lo posso fare?
Risposte:
NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];
NSString* firstBit = [foo objectAtIndex: 0];
Aggiornamento del 03/07/2018:
Ora che la domanda ha acquisito un tag Swift, dovrei aggiungere il modo Swift per farlo. È abbastanza semplice:
let substrings = "10/04/2011".split(separator: "/")
let firstBit = substrings[0]
Anche se nota che ti dà una serie di Substring
. Se è necessario riconvertirli in stringhe ordinarie, utilizzaremap
let strings = "10/04/2011".split(separator: "/").map{ String($0) }
let firstBit = strings[0]
o
let firstBit = String(substrings[0])
[foo firstObject]
potrebbe essere migliore in generale perché gestirà correttamente anche l'array vuoto.
Uno di questi 2:
NSString *subString = [dateString subStringWithRange:NSMakeRange(0,2)];
NSString *subString = [[dateString componentsSeparatedByString:@"/"] objectAtIndex:0];
Tuttavia, tieni presente che a volte una stringa di data non è formattata correttamente e un giorno (o un mese, per quella materia) viene mostrato come 8, anziché 08, quindi la prima potrebbe essere la peggiore delle 2 soluzioni.
Quest'ultimo dovrebbe essere inserito in un array separato in modo da poter effettivamente verificare la lunghezza della cosa restituita, in modo da non ricevere eccezioni nel caso di una stringa di data corrotta o non valida da qualsiasi fonte tu abbia.
Funziona benissimo
NSString *dateString = @"10/10/2010";//Date
NSArray* dateArray = [dateString componentsSeparatedByString: @"/"];
NSString* dayString = [dateArray objectAtIndex: 0];
Uso [myString componentsSeparatedByString:@"/"]
Ho formattato la bella soluzione fornita da JeremyP sopra in una funzione riutilizzabile più generica di seguito:
///Return an ARRAY containing the exploded chunk of strings
+(NSArray*)explodeString:(NSString*)stringToBeExploded WithDelimiter:(NSString*)delimiter
{
return [stringToBeExploded componentsSeparatedByString: delimiter];
}