Que tal usar re
e set
definir uma flag (aqui 0 e 1) em python re
- extrairá todos os nomes (último e primeiro) de BENNETT MCCARL & ARNETTE BENNETT
fora &
. Para a correspondência de padrões re
é da mais alta prioridade, você pode usar re
como quiser.
import re
def sorter(val):
words = re.findall(r'\w+',val)
uniques = set(words)
if len(words)>len(uniques):
return 1
else:
return 0
E ligar sorter( !N! )
** Veja como regex
agarra as palavras emLIVE DEMO
Observe que todas essas respostas tratam do problema, supondo que seus dados sejam higienizados, ou seja, tenham espaço adequado entre as palavras, mas e se seus dados forem algo parecido BENNETTMCCARL&ARNETTEBENNETT
, tudo isso falhará. Nesse caso, você pode precisar usar o algoritmo Suffix Tree e, felizmente, o python possui alguma biblioteca como aqui .