Difference between revisions of "Category:LSL String"

From Second Life Wiki
Jump to navigation Jump to search
Line 63: Line 63:
== Typecast: (string){{LSL Param|value_t|value}} ==
== Typecast: (string){{LSL Param|value_t|value}} ==
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
<pre>string name;</pre>
<pre>(string)value</pre>
Converts '''value''' to a value of type string.
Converts '''value''' to a value of type string.
{|
{|
Line 70: Line 70:
</div></div>
</div></div>
<div id="box">
<div id="box">
== Examples ==
== Examples ==
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">

Revision as of 05:19, 27 March 2007

A string is text data. The length of a string is only limited by available script memory. String values are enclosed in quotes when defined in LSL text. Any character may be used in a string though some will need to be escaped.

Escape codes
Substring Replaced with
\t four spaces
\n new line
\" double quote
\\ backslash

String examples:

"Hello Avatar!"
"Yes"
"No"
"It's 10 o'clock."
"I am 21 years old!"
EOF
//The following two strings have the same value.
"I scream,\nyou scream,\nwe all scream,\nfor ice-cream!"
"I scream,
you scream,
we all scream,
for ice-cream!"


Variable: string name;

string name;

Declares a variable of type string named name, with the value ""

• variable name variable name

Variable: string name = value;

string name = value;

Declares a variable of type string named name, with the value value.

• variable name variable name
• expression value string expression or constant

Typecast: (string)value

(string)value

Converts value to a value of type string.

• expression value expression or constant

Examples

integer int = 48934;
string str = (string)int;
string str_2;
str_2 = str;

Useful Functions

//Use these functions instead of llStringTrim if you want to trim characters other then spaces.

string TrimRight(string src, string chrs)
{
    integer i = llStringLength(src);
    do;while(~llSubStringIndex(chrs, llGetSubString(src, i = ~ -i, i)) && i);
    return llDeleteSubString(src, -~i, 0xFFFF);
}

string TrimLeft(string src, string chrs)
{
    integer i = ~llStringLength(src);
    do;while(i && ~llSubStringIndex(chrs, llGetSubString(src, (i = -~i), i)));
    return llDeleteSubString(src, 0xFFFF0000, ~-i);
}

string TrimBoth(string src, string chrs)
{
    integer i = ~llStringLength(src);
    do;while(i && ~llSubStringIndex(chrs, llGetSubString(src, (i = -~i), i)));
    i = llStringLength(src = llDeleteSubString(src, 0xFFFF0000, (~-(i))));
    do;while(~llSubStringIndex(chrs, llGetSubString(src, (i = ~-i), i)) && i);
    return llDeleteSubString(src, (-~(i)), 0xFFFF);
}