| 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 = c("bytes", "chars", "width"))
x |
character vector, or a vector to be coerced to a character vector. |
type |
character string: partial matching is allowed. See Details. |
The ‘size’ of a character string can be measured in one of three ways
bytescharswidthcat will use to
print the string in a monospaced font. The same as chars
if this cannot be calculated (which is currently common).
These will often be the same, and 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. If you want to
operate on non-vector objects passing them through
deparse first will be required.
An integer vector giving the size of each string,
currently always 2 for missing values (for NA).
Not all platforms will return a non-missing value for type="width".
If the string is invalid in a multi-byte character set such as UTF-8,
the 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.
This does not by default give the number of characters that
will be used to print() the string, although it was documented
to do so up to R 2.0.1. Use encodeString to find the
characters used to print the string.
As from R 2.1.0 embedded nul bytes are included in the byte
count (but not the final nul): previously the count stopped
immediately before the first 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