R中的substr()函数可以按位置隔离任何字符,例如,r - 删除每个字段的最后一个字符
substr(df$10,2,3)
或使用nchar()
,可以从外地结束后向工作在某个位置的字符隔离如倒数第二个使用:
substr(df$10,nchar(df$10)-2,nchar(df$10)-1)
但是我想知道如何简单地删除数据帧中列的每个字段的last but one character
。我很难做到这一点。任何帮助将是伟大的!
R中的substr()函数可以按位置隔离任何字符,例如,r - 删除每个字段的最后一个字符
substr(df$10,2,3)
或使用nchar()
,可以从外地结束后向工作在某个位置的字符隔离如倒数第二个使用:
substr(df$10,nchar(df$10)-2,nchar(df$10)-1)
但是我想知道如何简单地删除数据帧中列的每个字段的last but one character
。我很难做到这一点。任何帮助将是伟大的!
您可以使用正则表达式与sub
:
x <- c("banana","republic")
sub(".(.)$","\\1",x)
[1] "banaa" "republc"
这样做是最后两个字符串中的字符相匹配,并与只有最后一个,这是在捕获组捕获替换它们。
快一点:'sub(“^(。*)。(。)$”,“\\ 1 \\ 2”,x)' –
完美 - 谢谢! – brucezepplin
你能澄清你的意思是“最后一个”吗?你是否尝试删除除倒数第二个字符之外的所有内容? – nrussell
你能展示预期的产出吗? – Sotos