code: def fingerprint(txt):
  	
  	raw_text = txt.upper() #.strip(' ').replace('\n','')
  	tokens = sorted(list(set(raw_text.split(' '))))
  	#print('tokens = ', tokens)
  
  	res = ''.join([strip_nonalpha(t) for t in tokens])
  	return res
docs: takes a string and truncates to standard form for data matching.
  	Based on the spec at OpenRefine
  	https://github.com/OpenRefine/OpenRefine/wiki/Clustering-In-Depth#fingerprint
  	- remove leading and trailing whitespace
  	- change all characters to their lowercase representation
  	- remove all punctuation and control characters
  	- split the string into whitespace-separated tokens
  	- sort the tokens and remove duplicates
  	- join the tokens back together
  	- normalize extended western characters to their ASCII representation (for example "gödel" → "godel")