Не думаю, что вы найдете библиотеку с этими конкретными правилами. Вам придется кодировать их самостоятельно. Для некоторых правил могут быть полезны регулярные выражения или даже каркасные методы String
, но для последнего правила я думаю, что вам придется сохранять равенство Map
для этих специальных символов. Затем вам придется перебирать каждый символ в строке, сравнивая их с помощью этой карты. И, поскольку вы уже просматриваете строку, возможно, вы могли бы применить все правила за одну итерацию, избегая регулярных выражений.