根据位置从字符串中删除字符

Mat*_*ewR 3 r

是否有一种简单的方法可以从字符串中删除特定字符.在下面的示例中,我想从向量的每个元素中删除最后三个字符.

string<-c("Autauga AL", "Bald Win Av", "Barbour AL", "Bibb AL" ,   "Blount At" , "Bullock AL")
Run Code Online (Sandbox Code Playgroud)

A5C*_*2T1 11

怎么样strtrim和nchar?

strtrim(string, nchar(string)-3)
# [1] "Autauga"  "Bald Win" "Barbour"  "Bibb"     "Blount"   "Bullock" 
Run Code Online (Sandbox Code Playgroud)

您还可以使用"stringi"包:

library(stringi)
stri_sub(string, 1, -4)
# [1] "Autauga"  "Bald Win" "Barbour"  "Bibb"     "Blount"   "Bullock" 
Run Code Online (Sandbox Code Playgroud)

默认为stri_subis to = -1L,所以删除最后三个字符-1 - 3 = -4.


Jos*_*ien 6

使用gsub(),删除前面的三个字符$(表示“字符串结尾”的正则表达式字符):

gsub(".{3}$", "", string)
[1] "Autauga"  "Bald Win" "Barbour"  "Bibb"     "Blount"   "Bullock" 
Run Code Online (Sandbox Code Playgroud)