Wie finde ich die Länge einer Zeichenfolge (Anzahl der Zeichen in einer Zeichenfolge), ohne sie in R aufzuteilen? Ich weiß, wie man die Länge einer Liste findet, aber nicht einer Zeichenfolge.
Und was ist mit Unicode-Strings? Wie finde ich die Länge (in Bytes) und die Anzahl der Zeichen (Runen, Symbole) in einer Unicode-Zeichenfolge?
Verwandte Frage:
r
string
unicode
string-length
Igor Chubin
quelle
quelle
x
.Antworten:
Siehe
?nchar
. Zum Beispiel:quelle
nchar(NA)
NA
s. (Obwohl dies dokumentiert ist).stri_length
vonstringi
- es funktioniert gut mit NAs und es ist schneller :) Überprüfen Sie meinen Beitrag!nchar(NA) ## [1] NA
wie folgt festgelegtVerwenden Sie
stringi
Paket undstri_length
FunktionWarum? Weil es das SCHNELLSTE unter den vorgestellten Lösungen ist :)
und funktioniert auch gut mit NAs
quelle
stri_length('\u0105')
Länge ist eins, aber ...stri_numbytes('\u0105')
2 Bytes werden verwendetnchar()
jetzt ein Argument für NAs vorliegt:allowNA = FALSE
Sie können auch das
stringr
Paket verwenden:quelle
Überprüfen Sie dies
quelle
Die Option keepNA = TRUE verhindert Probleme mit NA
quelle
nchar(NA) ## [1] NA
wie folgt festgelegtMöglicherweise müssen Sie zuerst in einen Zeichenvektor konvertieren.
quelle
nchar
. Bei Faktoreingabennchar
wird ein Fehler ausgegeben, und daher müssen Sie zuerst die Konvertierung durchführen, wie Sie zeigen.