2017-10-12 5 views
0

Comment puis-je diviser uniquement "2017-09-10" à partir de chaînes comme "\u200c2017-09-10".Comment séparer la date d'une chaîne dans Swift?

days = "\u200c2017-09-10" 
let formatter = DateFormatter() 
formatter.dateFormat = "yyyy-MM-dd" 
date = formatter.date(from: days) 

date de retour nil lorsqu'elle n'est pas divisée.

+0

Si vous recevez le même format, vous pouvez déposer les 6 premiers caractères! ou vous pouvez saisir les 10 derniers caractères. –

+0

S'il y a plus de caractères – GayashanK

+0

Comment, veuillez fournir le code – GayashanK

Répondre

2

Essayez ceci:

days = "\u200c2017-09-10" 
let last10 = String(days.characters.suffix(10)) 

Sortie: 2017-09-10

Fondamentalement, vous prenez juste les 10 derniers caractères des jours de chaîne.

+0

si la chaîne est comme "\ u200c2017-09-10sfswe" , puis – GayashanK

+0

Si vous êtes sûr du début de la chaîne, utilisez simplement prefix au lieu du suffixe: 'String (days.characters.prefix (11))' –

0

Vous avez utilisé la fonction seprated chaîne comme ceci: -

func SplitDatefromString() -> String { 
      let getString = self.components(separatedBy: "-") 
      guard getString.count != 0 else { 
       return "0" 
      } 
      return getString[0] 
    }