substr {base} | R Documentation |
Extract or replace substrings in a character vector.
substr(x, start, stop) substring(text, first, last = 1000000) substr(x, start, stop) <- value substring(text, first, last = 1000000) <- value
x, text |
a character vector |
start, first |
integer. The first element to be replaced. |
stop, last |
integer. The last element to be replaced. |
value |
a character vector, recycled if necessary. |
substring
is compatible with S, with first
and
last
instead of start
and stop
.
For vector arguments, it expands the arguments cyclically to the
length of the longest provided none are of zero length.
When extracting, if start
is larger than the string length then
""
is returned.
For the replacement functions, if start
is larger than the
string length then no replacement is done. If the portion to be
replaced is longer than the replacement string, then only the
portion the length of the string is replaced.
For substr
, a character vector of the same length as x
.
For substring
, a character vector of length the longest of the
arguments.
The S4 version of substring<-
ignores last
; this version
does not.
These functions are often used with nchar
to truncate a
display. That does not really work (you want to limit the width, not
the number of characters, so it would be better to use
strtrim
), but at least make sure you use
nchar(type="c")
.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
The New S Language.
Wadsworth & Brooks/Cole. (substring
.)
substr("abcdef",2,4) substring("abcdef",1:6,1:6) ## strsplit is more efficient ... substr(rep("abcdef",4),1:4,4:5) x <- c("asfef", "qwerty", "yuiop[", "b", "stuff.blah.yech") substr(x, 2, 5) substring(x, 2, 4:6) substring(x, 2) <- c("..", "+++") x