stristr
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: string Stristr( string haystack, string needle, integer after_needle );
Returns part of haystack string from the first occurrence of needle to the end of haystack.
Returns a string containing the text from haystack that comes before or after needle.
• string | haystack | – | The input string | |
• string | needle | – | the search within | |
• integer | after_needle | – | If TRUE, Stristr returns the part of the haystack after the first occurrence of the needle, otherwise before first occurrence. |
Specification
//Function created by Ugleh Ulrik
string stristr(string haystack, string needle, integer after_needle){
if(haystack)
{//we have a haystack, it's not ""
//Now find us a needle!
integer pos = llSubStringIndex(haystack, needle);
if(~pos)
{//We have found a needle!
if(after_needle)//return what comes after needle
return llGetSubString(haystack, pos + llStringLength(needle), -1);
return llDeleteSubString(haystack, pos, -1);
}
}
return "";
}
Examples
This example uses its basic feature, to provide the content left, or right of the searched string.
default
{
touch_start(integer total_number)
{
string source = "Hello there, Ugleh is my name!";
string mess = stristr(source,"Ugleh",TRUE); //True means after Needle
llOwnerSay(mess);//outputs " is my name!"
mess = stristr(source,"Ugleh",FALSE); //False means before Needle.
llOwnerSay(mess);//outputs "Hello there, "
}
}
See Also
Functions
• | llSubStringIndex | – | Find a string in another string | |
• | llParseString2List | – | Split a string up into a list | |
• | llParseStringKeepNulls | – | Like llParseString2List but it keeps empty strings | |
• | llListFindList | – | Like llSubStringIndex but for lists |