soundslike
WORD1
soundslike
WORD2

The soundslike operator compares two words to see if they “sound like” each other.

Parameters

This operator has two parameters:

word1 – The first word.

word2 – The second word.

Description

The soundslike operater converts two words (text) to a phonetic codes using the soundex algorithm. This algorithm, originally created in 1918, attempts to create the same code for words that sound similar in English. The algorithm only works properly for English, and only for one word at a time, so each operand should be just one word. Finally the soundslike operator compares the codes to see if the words have similar pronunciations.

    soundslike("smith","smythe") ☞ true
    soundslike("katy","katie") ☞ true
    soundslike("john","JON") ☞ true
    soundslike("christy","christy") ☞ true

One weakness of this algorithm is that the two words must start with the same letter for the phonetic code to match. Because of this, word pairs like Christy and Kristy will not match.

Note: The soundex algorithm is not very exact, and often will produce extra matches that you might not think really sound similar. However, it almost never fails to match on names that do sound similar, so it is a good starting point when you are not sure of an exact spelling.

See Also

- < -- compares two values to see if the first value is less than the second value.
- <= -- compares two values to see if the first value is less than or equal to the second value.
- <> -- compares two values to see if they are different.
- = -- compares two values to see if they are the same.
- > -- compares two values to see if the first value is greater than the second value.
- >= -- compares two values to see if the first value is greater than or equal to the second value.
- beginswith -- returns true if the value on the left starts with the value on the right, false if it doesn't.
- between( -- checks to see if a value is between two other values.
- contains -- returns true if the value on the left contains the value on the right, false if it doesn't.
- endswith -- returns true if the value on the left ends with the value on the right, false if it doesn't.
- like -- checks to see if the text on the left matches the wildcard pattern specified on the right.
- limit( -- checks to see if a value is between a minimum and maximum value. If it is, the value is returned unchanged. If it is below the minimum, the minimum value is returned. If it is above the maximum the maximum value is returned.
- match -- checks to see if the text on the left matches the wildcard pattern specified on the right.
- matchexact -- checks to see if the text on the left matches the wildcard pattern specified on the right.
- notbetween( -- checks to see if a value is *not* between two other values.
- notcontains -- returns true if the value on the left does not contain the value on the right, false if it does.
- notmatch -- checks to see if the text on the left does not match the wildcard pattern specified on the right.
- notmatchexact -- checks to see if the text on the left doesn't match the wildcard pattern specified on the right.
- regexmatch -- checks to see if the text on the left matches the regular expression on the right (see Regular Expressions).
- regexmatchexact -- checks to see if the text on the left matches the regular expression on the right (see Regular Expressions).
- soundex( -- computes a four character code that roughly corresponds to the phonetic pronunciation of the word.

History

Version | Status | Notes
10.0 | No Change | Carried over from Panorama 6.0