Difference between revisions of "Category:LSL String"

From Second Life Wiki
Jump to navigation Jump to search
(Added note about string length limits.)
(accuracy)
Line 1: Line 1:
{{LSL Header}}
{{LSL Header}}
<div style="float:right">__TOC__</div>
<div style="float:right">__TOC__</div>
A string is text data. The length of strings is only limited by available sim memory. String values are enclosed in quotes when you define them. You can use every letter or number in a string!
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.
 


<div style="float:left">
{|{{Prettytable}}
|+'''Escape codes'''
|-{{Hl2}}
!Substring
!Replaced with
|-
|| \t || four spaces
|-
|| \n || new line
|-
|| \" || double quote
|-
|| \\ || backslash
|}
</div>
{|
|
String examples:
String examples:
<pre>"Hello Avatar!"
<pre>"Hello Avatar!"
Line 10: Line 27:
"It's 10 o'clock."
"It's 10 o'clock."
"I am 21 years old!"
"I am 21 years old!"
EOF</pre>
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!"
</pre>
|}


{{#vardefine:p_name_desc|variable name
{{#vardefine:p_name_desc|variable name
Line 41: Line 66:
Converts '''value''' to a value of type string.
Converts '''value''' to a value of type string.
{|
{|
{{LSL DefineRow|expression|value|{{#var:p_name_desc}}}}
{{LSL DefineRow|expression|value|{{#var:p_value_t_desc}}}}
|}
|}
</div></div>
</div></div>

Revision as of 01:14, 19 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 name;

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

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);
}