Границы#
Границы определяют, где строка делится на слова. Они позволяют вам контролировать, как строка делится во время преобразований между различными соглашениями об именовании.
Рассмотрим абстрактный пример, где символ "_"
используется в качестве границы:
Представьте строку: "A_B_C"
Используя "_"
в качестве границы, строка делится на отдельные сегменты: ["A", "B", "C"]
Специфика границ#
Может быть сложно определить, как разбить строку на слова.
Допустим, строка содержит слово "2D"
, например "scale2D"
, и мы хотим перевести его в регистр snake
. Как нам решить, какие boundaries
использовать для разбиения этой строки на слова? Должно ли это быть "scale_2_d"
, "scale_2d"
или просто "scale2d"
?
По умолчанию метод преобразования использует некоторые предопределённые boundaries
, но иногда предопределенных границ недостаточно для соответствия определенному варианту использования, поэтому вы можете явно указать, какие из них использовать, предоставив экземпляры класса Boundary
.
boundaries/specificity.py | |
---|---|
Вы можете увидеть полный список всех встроенных границ в Спецификации API.
Создание кастомных границ#
Эта библиотека предоставляет ряд констант для границ, связанных с общими случаями. Но если вам нужно обрабатывать более конкретные случаи, вы можете легко создать пользовательские границы и использовать их, а также встроенные:
boundaries/custom_boundary.py | |
---|---|
Это совсем не то, что нам нужно. Поскольку библиотека не обрабатывает границу с точкой (
"."
) по умолчанию, нам нужно создать ее вручную с помощью классаBoundary
.Для достижения нашей цели нам нужно создать пользовательскую границу с помощью метода
Boundary.from_delimiter
.Теперь мы можем явно задать нашу пользовательскую границу для аргумента
boundaries
и он будет использоваться при разделении текста!
Чтобы узнать больше о создании кастомной границы с нуля, взгляните на класс Boundary
.