StringTruncate

From Second Life Wiki
Revision as of 14:43, 15 December 2012 by Omei Qunhua (talk | contribs) (Added an example demonstrating StringTruncate is not needed)
Jump to navigation Jump to search

Not to be confused with llStringTrim.

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

Function <lsl> string StringTruncate(string text, integer length) {

   if (length < llStringLength(text))
       return llGetSubString(text, 0, length - 2) + "…";
   // else
       return text;

} </lsl>

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

} </lsl> 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>