r - 从每个字段中删除最后一个字符

r - remove last but one character from every field

R 中的 substr() 函数可以按位置隔离任何字符,例如

substr(df,2,3)

或者通过使用 nchar() 可以从字段的末尾向后工作以隔离位置中的字符,例如 last but one 使用:

substr(df,nchar(df)-2,nchar(df)-1)

但是我想知道如何简单地删除数据框中一列的每个字段的 last but one character。我很难做到这一点。任何帮助都会很棒!

您可以使用正则表达式 sub:

x <- c("banana","republic")
sub(".(.)$","\1",x)
[1] "banaa"   "republc"

它的作用是匹配字符串中的最后两个字符,并仅用捕获组中捕获的最后一个字符替换它们。