Recherche d'une solution (élégante) pour fractionner une chaîne et conserver le séparateur en tant qu'élément (s) dans le tableau
Exemple 1:
"hello world"
["hello", " ", "world"]
exemple 2:
" hello world"
[" ", "hello", " ", "world"]
THX.
Supposons que vous fractionniez la chaîne par un séparateur appelé separator
, vous pouvez effectuer les opérations suivantes:
let result = yourString.components(separatedBy: separator) // first split
.flatMap { [$0, separator] } // add the separator after each split
.dropLast() // remove the last separator added
.filter { $0 != "" } // remove empty strings
Par exemple:
let result = " Hello World ".components(separatedBy: " ").flatMap { [$0, " "] }.dropLast().filter { $0 != "" }
print(result) // [" ", "Hello", " ", "World", " "]
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots