|
<< Click to Display Table of Contents >> Navigation: 3. Script Language > String commands > !STR.- String Command > Instring - Find Commands > String Operations |
MiniRobotLanguage (MRL)
STR.FindBestMatch
Find the best match for a given string in a list of strings using Levenshtein distance, return a number.
Intention
The STR.FindBestMatch command is used to find the closest matching string in a list of strings to a given string.
The command uses the Levenshtein distance algorithm for string comparison.
The result will be the best matching element and the element number corresponding to the best match in the list or -1 if an error occurs on TOS.
The result will be placed in an optional variable P3 or on TOS if the variable is omitted.
Syntax
STR.FindBestMatch|P1|P2[|P3]
STR.FBM|P1|P2[|P3]
Parameter Explanation
•P1 - (List, Text) Variable containing a comma or semicolon-separated list of strings. The strings may not contain comma or ; inside.
•P2 - (Target, Text) Variable containing the string to compare against the list.
•P3 - (Output, Numeric) Optional variable to store the result. If omitted, the result is placed on TOS.
Example
VAR.$$LIS=1. apple,2. orange,3. banana
VAR.$$TAR="orenge"
STR.FindBestMatch|$$LIS|$$TAR|$$RES
' Element in the Result Variable
DBP.Best Match: $$RES
' Element Number on TOS
DBP.$tos$
' Result is 2. orange
' and you have 2 on TOS.
ENR.
Remarks
-
Limitations:
-
See also:
• 1.5.2 Working with Text-Strings
• VAR. - Variable Set Value/Clear
• IVS. / NVS. - If-Variable-String
• SBD. - String between Delimiter
• SBM. - String between Delimiter-Multiple