正则表达式单独出现或用空格而不是带小数点r的数字时替换句点(.)

use*_*891 5 regex r

给定输入向量(iv)

iv <- c(.10,.15,"hello","."," . ",". ")
Run Code Online (Sandbox Code Playgroud)

我正在使用:

out <- sub(regexp,NA,iv)
Run Code Online (Sandbox Code Playgroud)

我想要这样的输出向量:

.10,.15,"hello",NA,NA,NA
Run Code Online (Sandbox Code Playgroud)

但是,不知道如何形成正则表达式以获得我需要的东西.提前致谢.

ags*_*udy 2

  gsub('^\\s*[.]\\s*$', 'NA',c(.10,.15,"hello","."," . ",". "))
  [1] "0.1"   "0.15"  "hello" "NA"    "NA"    "NA"   
Run Code Online (Sandbox Code Playgroud)

编辑将 ' NA' 替换为NA

 gsub('^\\s*[.]\\s*$', NA,c(.10,.15,"hello","."," . ",". "))
[1] "0.1"   "0.15"  "hello" NA      NA      NA     
Run Code Online (Sandbox Code Playgroud)

编辑使用stringr

library(stringr)
x <- c(.10,.15,"hello","."," . ",". ")
x[str_trim(x) == '.'] <- NA
x
[1] "0.1"   "0.15"  "hello" NA      NA      NA     
Run Code Online (Sandbox Code Playgroud)