我有一组地址,其状态缩写如下:
a <- c("2 reads way wilmington d e", "30 rockefeller plaza new york n y", "400 university drive durham n c")
我想删除两个字符之间的额外空格,以便最终结果是:
a <- c("2 reads way wilmington de", "30 rockefeller plaza new york ny", "400 university drive durham nc")
我想使用正则表达式来删除两个字母缩写之间的空格,我被告知gsub是最好的,所以我尝试了:
a <- gsub("^. .$", "..")
但我不断取代文字字符串".."
,比如我想要的"ny"
。使用正则表达式执行此操作的最佳方法是什么?我想grep
也能奏效?欢迎使用多种方法。
答案 0 :(得分:2)
您需要使用:
gsub("[[:space:]]","",a)
答案 1 :(得分:2)
sub("(?=.{2}$).","",a,perl = T)
[1] "2 reads way wilmington de" "30 rockefeller plaza new york ny"
[3] "400 university drive durham nc"
答案 2 :(得分:1)
你可以试试这个:
foo <- c("2 reads way wilmington d e",
"30 rockefeller plaza new york n y",
"400 university drive durham n c")
gsub("(?<=\\b\\w)\\s(?=\\w\\b)", "", foo, perl = TRUE)
# [1] "2 reads way wilmington de" "30 rockefeller plaza new york ny"
# [3] "400 university drive durham nc"