Próbuję wykonać porównanie ciągów w języku Python. Moje struny zawierać tytuły, które mogą być skonstruowane wiele różnych sposobów:Podobieństwo ciągów w języku Python
'Title'
'Title: Subtitle'
'Title - Subtitle'
'Title, Subtitle'
'Title Subtitle'
jest to możliwe do zrobienia porównania podobieństwa w Pythonie, aby mógł on stwierdzić, że match('Title: Subtitle', 'Title - Subtitle') = True
? (lub jakkolwiek byłby skonstruowany)
Zasadniczo próbuję ustalić, czy są one tego samego tytułu, nawet jeśli podział jest inny.
if 'Title: Subtitle' == 'Title - Subtitle':
match = 'True'
else:
match = 'False'
Są też takie, które mogą być przechowywane jako The Title: The Subtitle
lub Title, The: Subtitle, The
chociaż myślę, że może dodać trochę złożoności pewnie mógłby obejść rekonstrukcji łańcucha.
Dlaczego po prostu nie usuwać wszystkich znaków interpunkcyjnych i nie porównywać? Zobacz http://stackoverflow.com/questions/265960/best-way-to-strip-punctuation-from-a-string-in-python –
@Liongold, który przyszedł mi do głowy podczas pisania pytania, dzięki Rzucę okiem na link – Midavalo
Więc nawet "Tytuł: Podtytuł" i "Tytuł, The: Subtitle, The" powinny być również uważane za równe? –