Remove specific last character from string

半世苍凉 提交于 2020-01-03 10:45:30

问题


I have following string vector:

 EC02   502R   603           515    602   
 KL07   601    511R   505R   506R   503   
 508    514    501    509R   510    501R  
 512R   516    507    604    502    601R  
 SPK01  504    504R   ACK01  503R   508R  
 507R   ACK03  513    EC01   506    ECH01 
 ACK02  SPK02  509    511    512    505   
 KA01   RS01   510R   SKL01  SPK03  603R  
 602R   604R   513R   AECH01 ER03   AECH02
 RS02   514R   ER01   RH01   AR05   RH02  
 515R   ER02   M01 

I want to replace 502R to 502, 501R to 501, 503R to 503 and so on...

Only character R has to be replaced which is occurring at the end of the string.

How can I do it with gsub?


回答1:


If you have a string vector and want to replace the last R character from it you can use sub. $ here ensures that the R is the last character in your vector.

sub("R$", "", str)

#[1] "EC02"  "502"   "603"   "5RFRS"

data

str <- c("EC02", "502R","603", "5RFRS)

I have used sub here instead of gsub. sub replaces only first occurrence of the pattern whereas gsub replaces all occurrences of the pattern though in this case the usage of sub/gsub wouldn't matter.




回答2:


lapply( dfrm, function(col_) {gsub( "R","",col_)} )


来源:https://stackoverflow.com/questions/45272047/remove-specific-last-character-from-string

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!