Тест для подстрок с диакритическими знаками в строках - PullRequest
0 голосов
/ 20 сентября 2011

Я тестирую в Python, если определенная строка содержит что-то следующее

if substr in str:
  do_something()

Проблема в том, что substr содержит букву с диакритическими знаками и другими необычными символами.Как бы вы посоветовали делать тесты с такими буквами?

спасибо

Ответы [ 2 ]

2 голосов
/ 20 сентября 2011

Я не знаю каких-либо проблем, специфичных для диакритических знаков в Python.У меня работает следующее:

 u"ł" in u"źdźbło"
 >>> True

Редактировать:

u"ł" in u"źdźblo"
>>> False 

Совпадение точное.Если вы хотите использовать нечувствительное к диакритике сопоставление, укажите это в своем вопросе и посмотрите ответ Фредрика.

Edit2: Да, для строковых литералов, содержащих символы не ascii, необходимо указать кодировку в исходном файле.Примерно так должно работать:

# coding: utf-8
0 голосов
/ 20 сентября 2011

Используйте решение, описанное в этом SO post , чтобы удалить все диакритические знаки перед тестированием.

...