Difference between revisions of "SubStringLastIndex"
Jump to navigation
Jump to search
Void Singer (talk | contribs) m (tweaked and added byte costs) |
|||
Line 31: | Line 31: | ||
/*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | ||
/*//-- --//*/</lsl> | /*//-- --//*/</lsl> | ||
'''Code:''' | |||
Alternative implementation - may be faster, but untested. | |||
<lsl>integer uSubStringLastIndex(string vStrSrc, string vStrTst) | |||
{ | |||
if (vStrTst == "") | |||
return 0; | |||
integer index = llSubStringIndex(vStrSrc, vStrTst); | |||
integer index2; | |||
if (index != -1) //found, look again | |||
index2 = uSubStringLastIndex(llGetSubString(vStrSrc, index + 1, -1), vStrTst) + 1; | |||
return index + index2; | |||
} | |||
/*// Contributed Freely to the Public Domain without limitation by Sasun Steinbeck. //*/</lsl> | |||
}} | }} | ||
Revision as of 13:49, 14 March 2012
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials | User-Defined Functions | Void's User Page |
User-Defined Function: integer uSubStringLastIndex( string vStrSrc, string vStrTst );
Returns a integer that is the positive index of the last vStrTst within vStrSrc
- vStrSrc: source string to check
- vStrTst: string to look for
if vStrTst is not found in vStrSrc -1 is returned.
the index of the first character is 0
Code:
- LSO: 182 bytes
- MONO: 1024 bytes
<lsl>integer uSubStringLastIndex( string vStrSrc, string vStrTst ){
integer vIdxFnd = llStringLength( vStrSrc ) - llStringLength( vStrTst ) - llStringLength( llList2String( llParseStringKeepNulls( vStrSrc, (list)vStrTst, [] ), 0xFFFFFFFF ) //-- (-1) );return (vIdxFnd
Caveats
- Performs a literal match (case sensitive).
- Wildcards and RegEx are not supported.
- Attempting to match an empty string ("") will return 0 instead of -1.
Notes
- This function is operates exactly like llSubStringIndex (including caveats), from the opposite end of the string.