[#Menu: Gateway of Tally] Item : Functions : CALL : StringFunctionsExamples [Function:StringFunctionsExamples] 10 : Log:$$Left:"The quick brown fox jumps over the lazy dog":6;Result "The qu" 6 Characters from Lef 20 : Log:$$Right:"The quick brown fox jumps over the lazy dog":6;Result "zy dog" 6 Characters from Right 30 : Log:$$Mid:"The quick brown fox jumps over the lazy dog":12:4;Result "rown"4 Characters from 12th character 40 : Log:$$Substitute:"The quick brown fox jumps over the lazy dog":"brown":"BROWN";Result "The quick BROWN fox jumps over the lazy dog" replaces brown with BROWN [Function:Left] Parameter:sSource:String Parameter:nBytes:Number Returns:String 10:Return:$$StringPart:##sSource:0:##nBytes [Function:Right] Parameter:sSource:String Parameter:nBytes:Number Returns:String 10:Return:$$StringPart:##sSource$$StringLength:##sSource - ##nBytes):##nBytes [Function:Mid] Parameter:sSource:String Parameter:nStart:Number Parameter:nBytes:Number Returns:String 10:Return:$$StringPart:##sSource##nStart-1):##nBytes [Function:Find] Parameter:sTextToFind:String Parameter:sSource:String Variable:lFound:Logical Variable:nReturnValue:Number Variable:nLenTTF:Number Variable:sTempString:String Returns:Number 01 : Set:nReturnValue:0 10 : Set:lFound##sSource containing ##sTextToFind) 20 : If : ##lFound 30 : Set:nLenTTF:$$StringLength:##sTextToFind 40 : While:##nReturnValue < $$StringLength:##sSource 50 : Increment:nReturnValue:1 60 : Set:sTempString:$$Mid:##sSource:##nReturnValue:##nLenTTF 70 : If:##sTextToFind=##sTempString 80 : Break 90 : End If 100 : End While 110 : End If 120 : Return:##nReturnValue [Function:Substitute] Parameter:sSource:String Parameter:sSearch:String Parameter:sReplaceWith:String Variable:lFound:Logical Variable:nFoundAt:Number Variable:sReturnValue:String Variable:sTempString:String Variable:sLeftString:String Variable:sRightString:String Variable:nLenTempString:Number Returns:String Variable:i:Number 01 : Set:sReturnValue:"" 02 : Set:sTempString:##sSource 03 : Set:i:0 10 : Set:lFound##sTempString containing ##sSearch) 20 : While:##i<1;##lFound 30 : Set:nLenTempString:$$StringLength:##sTempString 40 : Set:sReturnValue:$$left:##sTempString$$Find:##sSearch:##sTempString-1) + ##sReplaceWith + $$Right:##sTempString##nLenTempString-($$Find:##sSearch:##sTempString)+1-$$StringLength:##sSearch) 50 : Set:sTempString:##sReturnValue 60 : Set:lFound##sTempString containing ##sSearch) 61 : Increment:i:1 70 : End While 80 : Return:##sReturnValue
[Function:Substitute] Parameter:sSource:String Parameter:sSearch:String Parameter:sReplaceWith:String Variable:lFound:Logical Variable:sReturnValue:String Variable:sTempString:String Variable:nLenTempString:Number Returns:String Variable:i:Number 01 : Set:sReturnValue:##sSource 02 : Set:sTempString:##sSource 03 : Set:i:0 10 : Set:lFound##sTempString containing ##sSearch) 20 : While:##lFound 30 : Set:nLenTempString:$$StringLength:##sTempString 40 : Set:sReturnValue:$$left:##sTempString$$Find:##sSearch:##sTempString-1) + ##sReplaceWith + $$Right:##sTempString##nLenTempString-($$Find:##sSearch:##sTempString)+1-$$StringLength:##sSearch) 50 : Set:sTempString:##sReturnValue 60 : Set:lFound##sTempString containing ##sSearch) 61 : Increment:i:1 70 : End While 80 : Return:##sReturnValue ;; Replacement for "Substitute" function ;; Earlier was intermediate version wrongly included while posting