Difference between revisions of "StringTruncate"

From Second Life Wiki
Jump to navigation Jump to search
(Added an example demonstrating StringTruncate is not needed)
m (<lsl> tag to <source>)
 
(One intermediate revision by one other user not shown)
Line 4: Line 4:


'''Function'''
'''Function'''
<lsl>
<source lang="lsl2">
string StringTruncate(string text, integer length)
string StringTruncate(string text, integer length)
{
{
Line 13: Line 13:
         return text;
         return text;
}
}
</lsl>
</source>


'''Example'''
'''Example'''
<lsl>
<source lang="lsl2">
string StringTruncate(string text, integer length)
string StringTruncate(string text, integer length)
{
{
Line 38: Line 38:
     }
     }
}
}
</lsl>
</source>
'''simpler code'''
You don't need a user function for this exercise, as you can just use llGetSubString().
If you request a length longer longer than the string actually is, it will return the full string.
(Omei Qunhua)
<lsl>
default
{
    state_entry()
    {
        string text = "abcdefghijklmnopqrstuvwxyz";
        llSay(0, "<" + llGetSubString(text, 0 , 33) + ">" );  // outputs <abcdefghijklmnopqrstuvwxyz>
        llSay(0, "<" + llGetSubString(text, 0, 9) + ">" );    // outputs <abcdefghij>
    }
}
</lsl>
{{LSLC|User-Defined Functions}}
{{LSLC|User-Defined Functions}}

Latest revision as of 15:38, 22 January 2015

Not to be confused with llStringTrim.

this function will trim a string if it is too long.

Function

string StringTruncate(string text, integer length)
{
    if (length < llStringLength(text))
        return llGetSubString(text, 0, length - 2) + "…";

    // else
        return text;
}

Example

string StringTruncate(string text, integer length)
{
    if (length < llStringLength(text))
        return llGetSubString(text, 0, length - 2) + "…";

    // else
        return text;
}
 
default
{
    state_entry()
    {
       // llSay(PUBLIC_CHANNEL, "Hello, Avatar!");
    }
 
    touch_start(integer num_detected)
    {
        llSay(PUBLIC_CHANNEL, StringTruncate("my name Ulrik Ulrik", 11));
    }
}