Jak znaleźć długość ciągu (liczbę znaków w ciągu) bez dzielenia go na R? Wiem, jak znaleźć długość listy, ale nie łańcucha.
A co z ciągami znaków Unicode? Jak znaleźć długość (w bajtach) i liczbę znaków (runy, symbole) w ciągu znaków Unicode?
Powiązane pytanie:
r
string
unicode
string-length
Igor Chubin
źródło
źródło
x
.Odpowiedzi:
Zobaczyć
?nchar
. Na przykład:źródło
nchar(NA)
NA
s. (Chociaż jest to udokumentowane).stri_length
zstringi
- działa dobrze z NA i jest szybszy :) Sprawdź mój post!nchar(NA) ## [1] NA
: patrz nchar RD DokumentacjaUżyj
stringi
pakietu istri_length
funkcjiDlaczego? Ponieważ jest to NAJSZYBSZY spośród prezentowanych rozwiązań :)
a także działa dobrze z NA
źródło
stri_length('\u0105')
długość wynosi jeden, ale ...stri_numbytes('\u0105')
używane są 2 bajtynchar()
teraz ma argumenty dotyczące NA:allowNA = FALSE
Możesz również użyć
stringr
pakietu:źródło
Sprawdź to
źródło
Opcja keepNA = TRUE zapobiega problemom z NA
źródło
nchar(NA) ## [1] NA
: patrz nchar RD Dokumentacjabyć może będziesz musiał najpierw przekonwertować na wektor znaków;
źródło
nchar
. W przypadku czynników wejściowychnchar
wyrzuci błąd i dlatego najpierw musisz wykonać konwersję, jak pokazano.