Измерить длину строкового литерала, который содержит представления символов Unicode? - PullRequest
1 голос
/ 18 марта 2020
nchar("\u058f")
[1] 1

стало для меня неожиданностью (я ожидал 6 или 4).

Вопрос

Как мы можем измерить количество буквенных символов в строке, содержащей Unicode-представления вида \uxxxx?

Что я пробовал до сих пор

Я пытался повозиться с разными types, но

> nchar("\u058f", type = "bytes")
[1] 2
> nchar("\u058f", type = "chars")
[1] 1
> nchar("\u058f", type = "width")
[1] 1

1 Ответ

2 голосов
/ 18 марта 2020

Вам необходимо экранировать символы Юникода, что можно сделать, например, с помощью функции stringi stri_escape_unicode:

nchar(stringi::stri_escape_unicode("\u058f"))

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