J'ai besoin de diviser une chaîne lue dans un fichier en un tableau de valeurs. Je veux diviser la chaîne au niveau des virgules, donc par exemple, si la chaîne se lit:
"name, 2012, 2017"
Les valeurs dans le tableau seraient:
J'ai trouvé cet exemple en Java:
String[] stringArray = string.split(",");
Comment pourrais-je le faire à Kotlin?
val strs = "name, 2012, 2017".split(",").toTypedArray()
Si nous avons une chaîne de valeurs divisée par n'importe quel caractère comme ",":
val values = "Name1 ,Name2, Name3" // Read List from somewhere
val lstValues: List<String> = values .split(",").map { it -> it.trim() }
lstValues.forEach { it ->
Log.i("Values", "value=$it")
//Do Something
}
Il est préférable d'utiliser trim () pour supprimer les espaces autour des chaînes s'ils existent. Considérez que si vous avez un "," à la fin de la chaîne, cela fait un élément nul, vous pouvez donc le vérifier avec ce code avant de le fractionner:
if ( values.endsWith(",") )
values = values.substring(0, values.length - 1)
si vous voulez convertir la liste en tableau, utilisez ce code:
var arr = lstValues.toTypedArray()
arr.forEach { Log.i("ArrayItem", " Array item=" + it ) }
Aussi simple que cela soit:
val string: String = "leo_Ana_John"
val yourArray: List<String> = string.split("_")
vous obtenez: votreArray [0] == leo, votreArray [1] == Ana, votreArray [2] == John