我有一个名称向量,其中一些名称有前导和尾随.字符,有些则没有.这是一个例子:
test <- c('.name.1.','name.2','.name.3.')
Run Code Online (Sandbox Code Playgroud)
我想有条件地删除.这些名称中的前导和尾随字符,以便返回
c('name.1','name.2','name.3')
Run Code Online (Sandbox Code Playgroud)
小智 13
使用正则表达式:
test <- c('.name.1.','name.2','.name.3.')
gsub('^\\.|\\.$', '', test)
# [1] "name.1" "name.2" "name.3"
Run Code Online (Sandbox Code Playgroud)
\\正则表达式中的两个反斜杠转义点.,这实际上意味着任何字符.插入符号^标记字符串,美元和字符串结尾的开头$.的,|是一个逻辑"或".因此,本质上,正则表达式匹配字符串开头的点或字符串末尾的点,并用空字符串替换它.
可以在此处找到有关正则表达式的更多信息,以及有关gsub和相关函数的信息.