From Second Life Wiki
ParseStringKeepNulls
llParseStringKeepNulls
Fonction: list llParseStringKeepNulls( string src, list séparateurs_supprimés, list séparateurs_conservés );
Renvoie un correspondant au string src converti en list, sans conserver les séparateurs_supprimés et en gardant les séparateurs_conservés et en gardant par ailleurs les valeurs nulles générées.
| • string
| src
| –
| string source
|
|
| • list
| séparateurs_supprimés
| –
| list de séparateurs supprimés
|
|
| • list
| séparateurs_conservés
| –
| list de séparateurs conservés
|
|
Inconvénients
- Seuls les 8 premiers séparateurs de chaque list sont utilisés, les autres sont ignorés.
- Tous les séparateurs doivent être des strings, les autres types de séparateurs seront ignorés.
- Les séparateurs_supprimés sont analysés avant les séparateurs_conservés. Le string est analysé de gauche à droite, la comparaison est faite avec le list des séparateurs_supprimés, puis avec le list des séparateurs_conservés.
- Les doublons sont ignorés.
- Tous les éléments renvoyés sont des strings. Utilisez les options de conversion explicite sur un llList2String pour convertir une donnée dans un autre type. Ne faites pas confiance aux fonctionnalités de conversion des autres llList2* (car elles retournent généralement leur valeur par défaut sur un string).
Exemples
default
{
state_entry()
{
// cette partie dira :
// <Un><renard><fous><.><Regarde><la><lune><.><.>
string my_string = "Un renard fou. Regarde la lune..";
list my_list = llParseString2List(my_string,[" "],["."]);
llOwnerSay("<" + llDumpList2String(my_list,"><") + ">");
// cette partie dira:
// <Un><renard><fous><.><><><Regarde><la><lune><.><.><>
my_list = llParseStringKeepNulls(my_string,[" "],["."]);
llOwnerSay("<" + llDumpList2String(my_list,"><") + ">");
}
}
Extraits de code utiles
Exemples pour utiliser plus de 8 séparateurs: