LlParseStringKeepNulls
Looking for the current API? Open the llParseStringKeepNulls reference →
Return value notes
Returns a list that is
src broken into a list, discarding separators, keeping spacers, keeping any null values generated.Specification
The behavior is identical to that for llParseString2List, except blank strings found in the list are kept. This is useful when parsing a list that contains values that can be null or empty (and subsequently removing the nulls would upset the distribution of data and the element indexes).
llParseStringKeepNulls("", ["~"], []) will return [""]
Caveats
- Only the first 8
separatorsand first 8spacerswill be used any extras will be ignored. - All
separatorsandspacersmust be strings, all other types will be ignored. separatorstake precedent overspacers. The string is parsed from start to finish, each position is compared against theseparatorsthenspacersbefore moving onto the next position. The first match is the one that is returned. Using the list ["A", "AB"] will always act with "A" and never "AB".- Duplicate or irrelevant
separatorsorspacerscount towards the limits and slow down parsing. - All entries in the return are typed as string. Use explicit typecasting on llList2String to convert the values into other types. Do not rely upon the implicit typecasting of the other llList2* functions (as they typically return a default value).
- Remember to capture the result of the operation with a variable, unless you are planning to act directly on the results.
Examples
default
{
state_entry()
{
// This will say:
// <A><crazy><fox><.><Saw><the><moon><.><.>
string my_string = "A crazy fox. Saw the moon..";
list my_list = llParseString2List(my_string,[" "],["."]);
llOwnerSay("<" + llDumpList2String(my_list,"><") + ">");
// This will say:
// <A><crazy><fox><.><><><Saw><the><moon><.><><.><>
my_list = llParseStringKeepNulls(my_string,[" "],["."]);
llOwnerSay("<" + llDumpList2String(my_list,"><") + ">");
}
}Helper functions
Replacement functions without or very large separator/spacer count limits
See also: functions
Original wiki source
Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.