LlGetSubString

From Second Life Wiki

Jump to: navigation, search

Contents

Description

Function: string llGetSubString( string src, integer start, integer end );
94 Function ID
0.0 Delay
10.0 Energy

Returns a string that is the substring of src from start to end, leaving the original string intact.

• string src
• integer start start index
• integer end end index

start & end support negative indexes.

Specification

Index Positive Negative
First 0 -length
Last length - 1 -1

Mentally first translate any negative indexes into positive indexes

  • If start <= end then the range operated on starts at start and ends at end. [start, end]
  • If start > end then the range operated on starts at 0 and goes to end and then starts again at start and goes to -1. [0, end] + [start, -1]

Positive indexes past the length (after the last index), or negative indexes past the beginning (before the first index) are valid. The effects are predictable, the entries are treated as if they were there but were removed just before output.

See negative indexes for more information.

Examples

 
default
{
    state_entry()
    {
        string word = "Hello!";
        llOwnerSay(llGetSubString(word, 0, 0));
        // Object: H
        llOwnerSay(llGetSubString(word, -1, -1));
        // Object: !
        llOwnerSay(llGetSubString(word, 2, 3));
        // Object: ll
    }
}
 

Notes

The counting of the characters starts at 0. Using 0,0 as start and end positions would return the first character only. Using negative numbers causes backwards counting, so -1 is shortform for the last character in a string. Ergo, using 0, -1 as start and end positions would return the entire string.

To ascertain how long a string is, use llStringLength.

See Also

This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.
Personal tools