Filemaker

Материал из Wiki Mininuniver
Перейти к навигацииПерейти к поиску

Needle - This parameter signifies the substring for which we wish to search.

Alternative - This holds the string that will replace the substring in Needle.

Haystack - This parameter holds the entire string to search: the proverbial Haystack in which to find and substitute the Needle, if you will.

Function Human body:

Scenario( PatternCount( Haystack Needle ) &gt

Change( Haystack  Position( Haystack  Needle  1  1 )  Length( Needle )  Substitute )
Haystack)
 Making use of the constructed-in Case functionality (due to the fact there are only two circumstances, the If purpose could be applied listed here as very well), we examination for the existence of Needle within just Haystack with the constructed-in PatternCount operate:

PatternCount ( Haystack Needle )&gt0 For the accurate case, we print the results of the developed-in Change(textstartnumberOfCharactersreplacementText) purpose.

Substitute ( Haystack Situation ( Haystack Needle one one ) Duration ( Needle ) Substitute ) The substitute in Haystack commences at the posture of the initial instance of Needle and extends the amount of people of Needle and is changed by Alternative.

For the wrong or default case, we only print Haystack given that there is no Needle to substitute.

Worldwide Lookup and Substitute Perform 

Function Name: String Swap

Parameters:

Needle - This parameter represents the substring for which we wish to lookup.

Substitute - This retains the string that will change the substring in Needle.

Haystack - This parameter retains the whole string to look for: the proverbial Haystack in which to uncover and substitute the Needle, if you will.

Perform Human body:

If( PatternCount( Haystack Needle ) &gt

Permit( pos = Placement( Haystack Needle one one ) + Size( Needle )

Permit(

[ HaystackBegin = Situation( pos &gt Left( Haystack pos - one ) "" )

HaystackEnd = Center ( Haystack pos Length( Haystack ) - pos + 1 )

]

String Replace( Needle Substitute HaystackBegin ) &amp String Change All( Needle Substitute HaystackEnd )

)

)

Haystack)   Our foundation problem listed here is a Haystack with  situations of Needle. Below we basically output the Haystack.

For a defining condition, when Haystack has a lot more than instances of Needle (it can never have a negative quantity of situations, of system), we replace the first instance and get in touch with this perform recursively with the remaining Haystack. With just about every call, there will be a single a lot less Needle in the Haystack, till the base condition is achieved the place Needles exist in the Haystack.

Employing the created-in If functionality, we do a examination for a non-base problem which is a Haystack with 1 or a lot more instance of Needle.

PatternCount( Haystack Needle ) &gt The explanation we really don't exam right for the base problem (i.e.PatternCount ( Haystack Needle ) = ), is that in some situations, these as when Haystack is vacant, the PatternCount purpose may return an undefined price, which is neither nor increased than , but really should result in a foundation affliction return.

If the issue is accurate, there are Needles in the Haystack, so we established these variables:


pos = Place( Haystack  Needle  1  one ) + Size( Needle ) - The character situation inside of Haystack right away following the 1st occasion of Needle.
HaystackBegin = Scenario( pos &gt   Left( Haystack pos - one )  "" ) - The material of the Haystack string up to posture pos. This string will include exactly one instance of Needle 
HaystackEnd = Center( Haystack  pos  Duration(Haystack) - pos + 1 ) - The remaining content of Haystack containing one particular considerably less instance of Needle. filemaker, hosting, filemaker