Having problems with your account or logging in?
A lot of changes are happening in the community right now. Some may affect you. READ MORE HERE

How can I use a wildcard in the ListFind function?

How can I use a wildcard in the ListFind function?

You cannot use a wildcard in the ListFind function because the "*" is viewed as literal in the string and as such SilkTest cannot find the "*" in the list. The best way around this is to create a custom function which will do the comparison, such as the one below (and attached "ListFind_Wildcard.t):

[-] testcase one () appstate none
[-] LIST lsFruit = {...}
[ ] "apples"
[ ] "oranges"
[ ] "bananas"
[ ] Print(GetPosition(lsFruit, "oranges*"))
[ ] Print(GetPosition(lsFruit, "orange*"))
[-] Int GetPosition (LIST OF STRING lsList, String sItem)
[ ] int iPos = 0
[ ] string itemName
[-] for each itemName in lsList
[-] if (MatchStr(sItem, itemName))
[ ] iPos = ListFind (lsList, itemName)
[ ] return iPos

This custom function "GetPosition" uses a MatchStr and an if statement to return the correct position in the list. When this script is run the correct value of 2 is returned for both values entered.

Related documents:

Old KB# 23531

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Top Contributors
Version history
Revision #:
1 of 1
Last update:
‎2013-02-15 19:36
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.