2016-04-22 527 views
0

R中的substr()函數可以按位置隔離任何字符,例如,r - 刪除每個字段的最後一個字符

substr(df$10,2,3) 

或使用nchar(),可以從外地結束後向工作在某個位置的字符隔離如倒數第二個使用:

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

但是我想知道如何簡單地刪除數據幀中列的每個字段的last but one character。我很難做到這一點。任何幫助將是偉大的!

+1

你能澄清你的意思是「最後一個」嗎?你是否嘗試刪除除倒數第二個字符之外的所有內容? – nrussell

+1

你能展示預期的產出嗎? – Sotos

回答

2

您可以使用正則表達式與sub

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

這樣做是最後兩個字符串中的字符相匹配,並與只有最後一個,這是在捕獲組捕獲替換它們。

+1

快一點:'sub(「^(。*)。(。)$」,「\\ 1 \\ 2」,x)' –

+0

完美 - 謝謝! – brucezepplin

相關問題