Software Venture Consulting
ToMarket

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
Training
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages
Videos
Adventures
Links

Shopping Cart
Shopping Cart

Search:

Free Newsletter
Signup


Contact


Privacy Policy



FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.

 

 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

WordPosition ( text ; searchWord ; start ; occurrence )

Rate this function:  

RatingRatingRatingRatingRating
  Average rating: 2.6  (30 votes)
  Discuss this Custom Function

Daniele Raybaudi, ACI
www.aci.it

Returns the word number of the searchWord in the text.

Sample Input:
WordPosition ( "this may be or may be not the best way" ; "be" ; 1 ; 2 )
Sample Output:
6


 Then copy & paste into FileMaker Advanced's Edit Custom Function window.

Click here to copy To Clip Manager if you have myFMbutler's Clip Manager installed

Description:

WordPosition custom function

Author
Daniele Raybaudi

Type
Recursive

Format
WordPosition ( text ; searchWord ; start ; occurrence )

Parameters
text - any text field, or an expression that returns a reference to a text field.
searchWord - the word to search in the text
start - the word number that you want to start from
occurrence - the occurrence of the word that you want to find

Data type returned
number

Description
Returns the word number of the searchWord in the text.
In the same way that the Position function provides the number of a character position in a text string, WordPosition calculates the word number of a text string.

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it

Discuss:

The script does not work properly when the third parameter>1. Take the example above:
WordPosition ( "this may be or may be not the best way" ; "be" ; 2;1 )
return 4;
When the third parameter is 3, 4, 5, ... the result is 5, 6, 7,...

It seems to me there are probably two solutions for it (1) write a subCF, which is recursive and takes 5 parameters: the fifth will be constant number equal to the initial third parameter; (2) the easy solution, delete the third parameter and make it default value 1.

Lizhe Xu, East Lyme, CT
August 26, 2009 7:29am

After second thought, the second solution indeed is not so easy, it is still need a subCF, which will accept 4 parameters. I now use your CF in my solution but with the constant value 1 for the third parameter.

Lizhe Xu, East Lyme, CT
August 26, 2009 7:38am

I have fixed the problem Lizhe brought up, and I also added support for a negative value for occurrence.

Let(
[
count = WordCount( text );
direction = Sign( occurrence );
startWord = MiddleWords( text; start; 1 )
];
Case(
start < 1 or start > count;
0;
IsEmpty( text ) or IsEmpty( searchWord ) or IsEmpty( start ) or IsEmpty( occurrence );
"";
startWord ≠ searchWord;
WordPosition( text; searchWord; start + direction; occurrence );
startWord = searchWord and Abs( occurrence ) ≠ 1;
WordPosition( text; searchWord; start + direction; occurrence - direction );
start
)
)

Max Heller, Frederick, MD
April 13, 2010 4:04pm

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
City/Location:
Comment:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 8 + 2 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. CurrentTime_Plus_Hours_Minutes (Hours ; Minutes)
  (Sat, Aug 30, 7:08pm)
2. CurrentTime_Less_Hours_Minutes (Hours ; Minutes)
  (Sat, Aug 30, 7:04pm)
3. ListGet ( InList; InNum )
  (Thu, Aug 28, 11:19am)
4. ListExist ( InList ; InValue )
  (Thu, Aug 28, 11:08am)
5. RemoveCarriages(text)
  (Fri, Aug 22, 12:58am)
6. StateAcronym_Mex ( State )
  (Thu, Aug 21, 7:04pm)
7. RemoveValuesbyLength ( ListOfValues ; MinValue ; MaxValue ; StartingValue )
  (Mon, Aug 11, 10:17am)
8. AccentLess ( s )
  (Thu, Aug 07, 4:59am)

RSS Feed of Custom Functions