nchar {base} | R Documentation |
nchar
takes a character vector as an argument and
returns a vector whose elements contain the sizes of
the corresponding elements of x
.
nchar(x, type = "bytes")
x |
character vector, or a vector to be coerced to a character vector. |
type |
character string: partial matching to one of
c("bytes", "chars", "width") . See Details. |
The ‘size’ of a character string can be measured in one of three ways
bytes
chars
width
cat
will use to
print the string in a monospaced font. The same as chars
if this cannot be calculated.
These will often be the same, and almost always will be in single-byte
locales. There will be differences between the first two with
multibyte character sequences, e.g. in UTF-8 locales.
If the byte stream contains embedded nul
bytes,
type = "bytes"
looks at all the bytes whereas the other two
types look only at the string as printed by cat
, up to the
first nul
byte.
The internal equivalent of the default method of
as.character
is performed on x
(so there is no
method dispatch). If you want to operate on non-vector objects
passing them through deparse
first will be required.
An integer vector giving the sizes of each element,
currently always 2
for missing values (for NA
).
If an element is invalid in a multi-byte character set such as UTF-8,
its number of characters and the width will be NA
. Otherwise
the number of characters will be non-negative, so
!is.na(nchar(x, "chars"))
is a test of validity.
Names, dims and dimnames are copied from the input.
This does not by default give the number of characters that
will be used to print()
the string. Use
encodeString
to find the characters used to print the
string.
Embedded nul
bytes are included in the byte count (but not the
final nul
).
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
strwidth
giving width of strings for plotting;
paste
, substr
, strsplit
x <- c("asfef","qwerty","yuiop[","b","stuff.blah.yech") nchar(x) # 5 6 6 1 15 nchar(deparse(mean)) # 18 17