J'ai une chaîne comme celle-ci: @"10/04/2011"
et je veux enregistrer uniquement le "10" dans une autre chaîne. Comment puis je faire ça?
J'ai une chaîne comme celle-ci: @"10/04/2011"
et je veux enregistrer uniquement le "10" dans une autre chaîne. Comment puis je faire ça?
Réponses:
NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];
NSString* firstBit = [foo objectAtIndex: 0];
Mise à jour du 03/07/2018:
Maintenant que la question a acquis une balise Swift, je devrais ajouter la manière Swift de le faire. C'est à peu près aussi simple:
let substrings = "10/04/2011".split(separator: "/")
let firstBit = substrings[0]
Notez bien que cela vous donne un tableau de fichiers Substring
. Si vous avez besoin de les reconvertir en chaînes ordinaires, utilisezmap
let strings = "10/04/2011".split(separator: "/").map{ String($0) }
let firstBit = strings[0]
ou
let firstBit = String(substrings[0])
[foo firstObject]
pourrait être meilleure dans le cas général car elle gérera également correctement les tableaux vides.
L'un 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 formatée correctement et qu'un jour (ou un mois d'ailleurs) est affiché comme 8, plutôt que 08, donc la première peut être la pire des 2 solutions.
Ce dernier doit être placé dans un tableau séparé afin que vous puissiez réellement vérifier la longueur de l'élément retourné, afin que vous n'obteniez aucune exception levée dans le cas d'une chaîne de date corrompue ou invalide de la source que vous avez.
Il fonctionne bien
NSString *dateString = @"10/10/2010";//Date
NSArray* dateArray = [dateString componentsSeparatedByString: @"/"];
NSString* dayString = [dateArray objectAtIndex: 0];
Utilisation [myString componentsSeparatedByString:@"/"]
J'ai formaté la belle solution fournie par JeremyP ci-dessus en 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];
}