Как получить правильный размер подстроки? - PullRequest
1 голос
/ 10 ноября 2019

Я хотел бы правильно сопоставить подстроку.

re:run("étude", "é",[unicode]).

Результат выполнения этого кода равен {match,[{0,2}]}. Этот результат выглядит так, как будто я использую ненормированную строку Юникода.

Итак, я пытаюсь добавить нормализацию:

re:run(unicode:characters_to_nfc_list("étude"), unicode:characters_to_nfc_list("é"),[unicode]).

Результат был таким же: {match,[{0,2}]}

Как описать Erlang (какой вариант мне нуженустановить) чтобы получить правильный результат размера символа? Я хотел бы получить {матч, [{0,1}]}

1 Ответ

2 голосов
/ 11 ноября 2019

Попробуйте ucp вместо опции Юникод .

>re:run("étude", "é",[ucp]).    
{match,[{0,1}]}
...