3

I'm trying to find close string matches (context - searching for a discord user from user input).

Atm, I'm trying out the difflib. It works ok, but seems to return some funny results sometimes. Eg. if someone's name contains a word, searching that word may result in something that seems far off instead of that name.

I think that's just because of how get_close_matches works. Could I be suggested some other libraries to try out? (Not sure how to quantify what I'm after, but maybe I want a searcher that gives a higher score to names containing a similar word to the search term)

user_names = []
for member in server.members:
    if member.name is not None: user_names.append(member.name)
    if member.nick is not None: user_names.append(member.nick)
user_name = difflib.get_close_matches(user_msg, user_names, n = 1, cutoff = 0.2)
Shuri2060
  • 729
  • 6
  • 21

1 Answers1

0

I've used https://github.com/seatgeek/fuzzywuzzy for this in the past which provides a few options out of the box from single words to tokenizing and sorting larger strings.

seech
  • 1
  • 1
  • 2