我想用gsub
减去字符。
# data
Column name
NORTH HANOVER TWP N J
MULLICA TWP NJ
VERONA N J
我想要的是:
# result
Column name
NORTH HANOVER
MULLICA
VERONA
我尝试这样的事情:
gsub(" TWP.", "", "NORTH HANOVER TWP N J")
[1] "NORTH HANOVERN J"
我得到了错误的结果。
如何修复我的代码?
答案 0 :(得分:2)
请尝试以下操作(考虑到您的实际输入与所示示例相同)。
gsub(" TWP.*| N.*","",cal)
输出如下。
[1] "NORTH HANOVER" "NORTH HANOVER" "MULLICA" "VERONA"
数据如下。
cal <- data.frame(column_name=c("NORTH HANOVER","NORTH HANOVER TWP N J","MULLICA TWP NJ","VERONA N J"))
答案 1 :(得分:1)
更通用的模式(并不是说它是100%的失败证明)
cal <- c("NORTH HANOVER TWP N J","MULLICA TWP NJ","VERONA N J","Sierra Nevada TWP NJ")
gsub("\\sTWP\\s?N\\s?J.*|\\sN\\s?J.*","",cal)
#[1] "NORTH HANOVER" "MULLICA" "VERONA" "Sierra Nevada"
因为标记的答案将失败。