Difference between revisions of "LlStringTrim"
Jump to navigation
Jump to search
m (stupid unsortable) |
|||
Line 54: | Line 54: | ||
//trim msg (not necessary to store these to variables but makes reading easier) | //trim msg (not necessary to store these to variables but makes reading easier) | ||
string trim_left = llStringTrim( | string trim_left = llStringTrim(msg, STRING_TRIM_HEAD); | ||
string trim_right = llStringTrim( | string trim_right = llStringTrim(msg, STRING_TRIM_HEAD); | ||
string trim = llStringTrim( | string trim = llStringTrim(msg, STRING_TRIM); | ||
//output the results | //output the results | ||
llOwnerSay("Initial length = " + (string)length | llOwnerSay("Initial length = " + (string)length + | ||
"\nLeading Spaces = " + (string)(length - llStringLength(trim_left))+ | "\nLeading Spaces = " + (string)(length - llStringLength(trim_left))+ | ||
"\nTrailing Spaces = " + (string)(length - llStringLength(trim_right))+ | "\nTrailing Spaces = " + (string)(length - llStringLength(trim_right))+ |
Revision as of 11:18, 1 September 2007
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: string llStringTrim( string src, integer type );330 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a string that is src with leading and/or trailing white space (spaces, tabs, and line feeds) trimmed from it.
• string | src | |||
• integer | type | – | STRING_TRIM* flag(s) |
Constant | Description | |
---|---|---|
STRING_TRIM_HEAD | 0x1 | Trims spaces off the beginning. |
STRING_TRIM_TAIL | 0x2 | Trims spaces off the end. |
STRING_TRIM | 0x3 | Trims spaces off the beginning and end. |
Caveats
Examples
Returns the number of leading and trailing spaces on a string (not particularly useful but shows how to use the function).
default { state_entry() { llListen(4, "", llGetOwner(), ""); } on_rez(integer a) { llResetScript(); } listen(integer chan, string name, key id, string msg) { //test for and remove wrapping single or double quotes if(~llSubStringIndex("'\"", llGetSubString(msg,0,0))) if(llGetSubString(msg,-1,-1) == llGetSubString(msg,0,0)) msg = llDeleteSubString(msg, -1, 0); //track the length integer length = llStringLength(msg); //trim msg (not necessary to store these to variables but makes reading easier) string trim_left = llStringTrim(msg, STRING_TRIM_HEAD); string trim_right = llStringTrim(msg, STRING_TRIM_HEAD); string trim = llStringTrim(msg, STRING_TRIM); //output the results llOwnerSay("Initial length = " + (string)length + "\nLeading Spaces = " + (string)(length - llStringLength(trim_left))+ "\nTrailing Spaces = " + (string)(length - llStringLength(trim_right))+ "\nTrimmed Message = \"" + trim + "\""); } }
Notes
The following examples will make the same result.
string src = " Duh "; st = llStringTrim(src, STRING_TRIM_HEAD); st = llStringTrim(st , STRING_TRIM_TAIL);
string src = " Duh "; st = llStringTrim(src, STRING_TRIM);
This is because (STRING_TRIM_HEAD | STRING_TRIM_TAIL) == STRING_TRIM
.