Comment dois-je supprimer tous les espaces d'une chaîne de caractères? - swift
J'ai besoin d'un moyen de supprimer le premier caractère d'une chaîne de caractères qui est un espace. Je suis à la recherche d'une méthode ou même une extension pour le type de Chaîne que je peux utiliser pour couper un caractère d'une chaîne.
- Voulez-vous supprimer le premier caractère d'espace ou tous les caractères d'espace dans la chaîne?
- Double Possible: Supprimer l'espace de jeu de caractères de la chaîne à l'exclusion de l'espace.
Vous devez vous connecter pour publier un commentaire.
Pour supprimer attaque et de fuite des espaces:
Swift 3 /Swift 4:
NSCharacterSet.whitespaceAndNewlineCharacterSet()
si vous souhaitez couper caractères de saut de ligne ainsi.La bonne voie lorsque vous souhaitez supprimer tous les types d'espaces (basé sur cette SORTE de réponse) est:
Swift 3.0+ (3.0, 3.1, 3.2, 4.0)
MODIFIER
Cette réponse a été publiée lorsque la question était à propos de la suppression tous des espaces, la question a été édité pour n'en mentionner que leader des espaces. Si vous souhaitez supprimer des espaces, utilisez les éléments suivants:
Cette Chaîne d'extension supprime tous les espaces d'une chaîne de caractères, et pas seulement de fuite d'espaces ...
Exemple:
Swift 3
Vous pouvez simplement utiliser cette méthode pour supprimer tous les normal espaces dans une chaîne de caractères (ne pas envisager tous les types d'espaces):
Le résultat sera:
Vous pouvez également utiliser des regex.
Pour Swift 3.0+ voir les autres réponses. C'est maintenant un héritage réponse pour Swift 2.x
Comme répondu plus haut, puisque vous êtes intéressés par la suppression du premier caractère de la .stringByTrimmingCharactersInSet() méthode d'instance fonctionnent bien:
Vous pouvez également faire vos propres jeux de caractères pour couper les limites de vos chaînes par ex:
Il est également intégré dans la méthode d'instance pour traiter avec la suppression ou le remplacement de sous-chaînes appelé stringByReplacingOccurrencesOfString(cible: Chaîne de caractères de remplacement: String). Il peut supprimer les espaces ou de tout autres motifs qui se produisent n'importe où dans votre chaîne
Vous pouvez spécifier des options et des plages, mais ne ont pas besoin:
C'est un moyen facile de supprimer ou de remplacer tout motif de répétition de caractères dans votre chaîne, et peuvent être enchaînés, bien que chaque fois qu'il doit prendre un autre passer à travers l'ensemble de votre chaîne, la diminution de l'efficacité. De sorte que vous pouvez le faire:
...mais il va prendre deux fois plus longtemps.
.stringByReplacingOccurrencesOfString() documentation du site d'Apple
Le chaînage de ces Chaîne de méthodes d'instance peut parfois être très pratique pour un hors conversions, par exemple, si vous voulez convertir un court NSData blob dans un hex de chaîne sans les espaces dans une seule ligne, vous pouvez le faire avec Swift intégrée de la Chaîne d'interpolation et de certains de taillage et de remplacement:
Pour swift 3.0
Swift 4
L'excellent cas d'utiliser les regex:
J'aimerais utiliser cette extension, à être flexible et à imiter la façon dont les autres collections de faire:
Si vous êtes désireux de supprimer les espaces de l'avant (et arrière), mais pas le milieu, vous devez utiliser
stringByTrimmingCharactersInSet
Si vous souhaitez supprimer les espaces à partir de n'importe où dans la chaîne de caractères, alors vous voudrez peut-être regarder à stringByReplacing...
" First Word "
sorties"First Word"
).Vous pouvez l'essayer aussi bien
Essayer de programmation fonctionnelle pour supprimer les espaces blancs:
Swift 3 version
Si quelqu'un supprimer l'espace supplémentaire à partir de la chaîne de l'e.g =
"This is the demo text remove extra space between the words."
Vous pouvez utiliser cette Fonction dans Swift 4.
et le résultat sera
Parage des espaces blancs dans Swift 4
Pour moi, la ligne suivante utilisé pour supprimer l'espace blanc.
Swift 4, 4.2 et 5
Supprimer de l'espace de l'avant et à la fin seulement
Supprimer les espaces de chaque où dans la chaîne
Encore une autre réponse, parfois, la chaîne d'entrée peut contenir plus d'un espace entre les mots. Si vous avez besoin de normaliser avoir seulement 1 espace entre les mots, essayez ceci (Swift 4/5)
Swift 3 version de BadmintonCat la réponse de
whitespaceCharacterSet
est une bonne pratique.Pour supprimer tous les espaces de la chaîne: