границы слов текста UTF-8 в perl - PullRequest
2 голосов
/ 23 августа 2011

Мой скрипт на Perl содержит строку символов в UTF-8, которая может быть на любом языке. Мне нужно прописать первый символ каждого слова, а оставшиеся символы слова преобразовать в нижний регистр. Это необходимо сделать, оставив текст в формате UTF-8.

Кажется, что следующее работает достаточно хорошо, когда текст содержит только латинские символы

$my_string =~ s/([\w']+)/\u\L$1/g;

Как мне заставить это работать в строке UTF-8?

1 Ответ

2 голосов
/ 23 августа 2011

См. perlunicode для обзора возможностей, с которыми вам необходимо ознакомиться. По сути, вы ищете что-то вроде \p{LC}.

Ваше проблемное пространство не очень хорошо определено; не все сценарии имеют концепцию регистра символов. Свойство LC будет соответствовать только тем сценариям, которые есть, поэтому оно должно привести вас туда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...