从字符串中删除最后一个尾随下划线

Kim*_*ins 5 string r gsub

我试图使用R从字符串中删除最后一个尾随下划线(_)

例如,

  Col1
  TX_
  AZ_TX
  CA_LX
  CHI_
  KS_
Run Code Online (Sandbox Code Playgroud)

上面的字符串应该是这样的

  Col1
  TX
  AZ_TX
  CA_LX
  CHI
  KS
Run Code Online (Sandbox Code Playgroud)

只有尾随_消失了.我试过sub("_", "", my_dataframe$my_column)但这会从字符串中删除所有_.我只是在寻找一个删除最后尾随_而不是全部的函数.有任何想法吗 ?

aic*_*hao 5

您可以使用sub(或gsub)正则表达式"_$"来查找_输入的末尾,然后替换为"":

s <- c('Col1', 'TX_', 'AZ_TX', 'CA_LX', 'CHI_', 'KS_')
sub("_$","",s)
##[1] "Col1"  "TX"    "AZ_TX" "CA_LX" "CHI"   "KS"   
Run Code Online (Sandbox Code Playgroud)