r - 在 substr() 函数中使用 ls() 函数时出现问题

标签 r substring substr

我需要一个包含所有对象名称的列表或矢量,并删除最后一个字符。 例如:

# if i have two objects (ob1 and other1)
ls()
##"ob1" "other1" 
# I want "ob" "other"

我试图在循环中使用 substr()ls(),但我得到一个空字符向量 ("")。现在忽略循环,我必须做什么才能使 ls()[1]substr() 中得到正确处理?

ob1 <– NULL
substr(ls()[1],1,length(ls()[1])-1)
##[1] ""

substr(paste(ls()[1]),1,length(ls()[1])-1)
##[1] ""

substr(toString(ls()[1]),1,length(ls()[1])-1)
##[1] ""

substr(as.character(ls()[1]),1,length(ls()[1])-1)
##[1] ""

最佳答案

您可以使用 sub 函数从字符串中删除最后一个字符。

> x <- c("ob1", "other1")
> sub(".$", "", x)
[1] "ob"    "other"

关于r - 在 substr() 函数中使用 ls() 函数时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29654215/

相关文章:

r - 如何通过添加前缀仅重命名 data.frame 中的某些列名称?

r - 基于 R 中的现有列创建新列

r - 计算R中目录的大小

string - 什么是广义后缀树?

javascript - 尝试使用 JavaScript 中的变音符号使递归排列起作用

javascript - 从字符串的一部分中删除文本

r - r 中的汇总函数舍入误差?

c# - 获取特定值作为字符串 c#

java - 如何在 Java 中查找带有空格的字符串的子字符串?

MySQL 在 SELECT 中提取多个子字符串,任意次数