我在R中有一个字符表,我想删除第一个和最后一个 字符。我尝试使用子功能,但它只适用于X1而不是 X2。基本上我想从这个
X1 | X2
-----------|--------------
N40ø47.30'| W111ø58.67'
W32ø50.83'| E96ø51.11'
我想得到这样的东西
X1 X2
----------|------------
40ø47.30 | 111ø58.67
32ø50.83 | 96ø51.11
答案 0 :(得分:2)
第一个字符是^.
,最后一个字符是.$
,
您可以使用gsub
同时删除两者:
DF$X1 <- gsub('^.|.$', '', DF$X1)
另一种没有正则表达式的替代方法是提取字符串的中间部分:
substr(DF$X1, 2, nchar(as.character(DF$X1)) - 1)
但请注意,这些解决方案仅适用于至少包含两个字符的值。可以使gsub
解决方案适用于单字符值:
gsub('^.(.*).$', '\\1', DF$X1) # thanks for @wiktor-stribiżew
答案 1 :(得分:1)
IT不是你问的,但如果你只想删除字符N,E,S,W和&#39;你可以跑:
gsub("N|E|S|W|'","",DF)