substr
位于 base
包(package)。 说明
提取或替换字符向量中的子字符串。
用法
substr(x, start, stop)
substring(text, first, last = 1000000L)
substr(x, start, stop) <- value
substring(text, first, last = 1000000L) <- value
参数
x , text |
一个字符向量。 |
start , first |
整数。要提取或替换的第一个元素。 |
stop , last |
整数。要提取或替换的最后一个元素。 |
value |
字符向量,必要时回收。 |
细节
substring
与 S 兼容,使用 first
和 last
而不是 start
和 stop
。对于向量参数,它循环地将参数扩展为最长的长度,前提是没有一个长度为零。
提取时,如果start
大于字符串长度,则返回""
。
对于提取函数,x
或 text
将被 as.character
转换为字符向量(如果它还不是字符向量)。
对于替换函数,如果start
大于字符串长度,则不进行替换。如果要替换的部分比替换字符串长,则仅替换字符串长度的部分。
如果任何参数是 NA
元素,则答案的相应元素是 NA
。
如果相应的输入具有声明的 Latin-1 或 UTF-8 编码并且当前区域设置是 Latin-1 或 UTF-8,则结果的元素将具有声明为当前区域设置的编码(请参阅 Encoding
) 。
如果输入元素已声明 "bytes"
编码(请参阅 Encoding
),则子集化将以字节为单位而不是字符为单位完成。
值
对于 substr
,与 x
具有相同长度和相同属性的字符向量(在可能的强制转换之后)。
对于 substring
,长度为参数中最长的字符向量。这将具有从 x
获取的名称(如果它有任何后强制,则根据需要重复),以及从 x
复制的其他属性(如果它是最长的参数)。
对于替换函数,与 x
或 text
长度相同的字符向量,并保留 attributes
例如 names
。
具有声明的编码的 x
或 text
的元素(请参阅 Encoding
)将以相同的编码返回。
注意
substring<-
的 S 版本忽略 last
;这个版本没有。
这些函数通常与 nchar
一起使用来截断显示。这实际上不起作用(您想要限制宽度,而不是字符数,因此最好使用 strtrim
),但至少确保使用默认的 nchar(type = "chars")
。
例子
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)
X <- x
names(X) <- LETTERS[seq_along(x)]
comment(X) <- noquote("is a named vector")
str(aX <- attributes(X))
substring(x, 2) <- c("..", "+++")
substring(X, 2) <- c("..", "+++")
X
stopifnot(x == X, identical(aX, attributes(X)), nzchar(comment(X)))
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
The New S Language.
Wadsworth & Brooks/Cole. (substring
.)
也可以看看
相关用法
- R substitute 替换和引用表达式
- R subset 向量、矩阵和 DataFrame 的子集化
- R summary 对象摘要
- R sum 向量元素之和
- R strsplit 分割字符向量的元素
- R seq.Date 生成规则的日期序列
- R search 给出 R 对象的搜索路径
- R solve 求解方程组
- R scan 读取数据值
- R sprintf 使用 C 风格字符串格式化命令
- R stop 停止函数执行
- R sign 标志函数
- R svd 矩阵的奇异值分解
- R strtoi 将字符串转换为整数
- R source 从文件、连接或表达式中读取 R 代码
- R sQuote 引用文字
- R switch 选择替代方案列表之一
- R strrep 重复字符向量的元素
- R split 分组并重新集合
- R slice.index 数组中的切片索引
- R sort 对向量进行排序或排序
- R standardGeneric 形式化方法系统 – 调度 S4 方法
- R sequence 创建序列向量
- R startsWith 字符串是否以另一个字符串开头或结尾?
- R system.file 查找 R 系统文件的名称
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Substrings of a Character Vector。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。