J'ai une chaîne comme celle-ci: @"10/04/2011"
et je veux sauvegarder uniquement le "10" dans une autre chaîne. Comment puis je faire ça?
NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];
NSString* firstBit = [foo objectAtIndex: 0];
Mise à jour 7/3/2018:
Maintenant que la question a acquis une balise Swift, je devrais ajouter la méthode Swift. C'est à peu près aussi simple:
let substrings = "10/04/2011".split(separator: "/")
let firstBit = substrings[0]
Bien noter que cela vous donne un tableau de Substring
. Si vous devez reconvertir ces chaînes en chaînes ordinaires, utilisez map
let strings = "10/04/2011".split(separator: "/").map{ String($0) }
let firstBit = strings[0]
ou
let firstBit = String(substrings[0])
L'une ou l'autre de ces 2:
NSString *subString = [dateString subStringWithRange:NSMakeRange(0,2)];
NSString *subString = [[dateString componentsSeparatedByString:@"/"] objectAtIndex:0];
Cependant, gardez à l'esprit que parfois une chaîne de date n'est pas correctement formatée et qu'un jour (ou un mois d'ailleurs) est affiché sous la forme 8 plutôt que 08, la première pouvant être la pire des deux solutions.
Ce dernier doit être placé dans un tableau séparé afin que vous puissiez réellement vérifier la longueur de la chose retournée. Ainsi, aucune exception ne sera renvoyée dans le cas d'une chaîne de date corrompue ou non valide, quelle que soit votre source.
Ça marche bien
NSString *dateString = @"10/10/2010";//Date
NSArray* dateArray = [dateString componentsSeparatedByString: @"/"];
NSString* dayString = [dateArray objectAtIndex: 0];
Objectif c:
NSString *day = [@"10/04/2011" componentsSeparatedByString:@"/"][0];
Rapide:
var day: String = "10/04/2011".componentsSeparatedByString("/")[0]
Utilisez [myString componentsSeparatedByString:@"/"]
J'ai formaté le solution intéressante fournie par JeremyP ci-dessus dans une fonction réutilisable plus générique ci-dessous:
///Return an ARRAY containing the exploded chunk of strings
+(NSArray*)explodeString:(NSString*)stringToBeExploded WithDelimiter:(NSString*)delimiter
{
return [stringToBeExploded componentsSeparatedByString: delimiter];
}
version Swift 3.
let arr = yourString.components(separatedBy: "/")
let month = arr[0]