我有一个字符串说"ab",我想替换"." 用"_".
gsub(".","_","a.b")
不起作用.匹配所有字符.
gsub("\.","_","a.b")
只是给我一个错误.
阅读?gsub上的文档没有用!
那么如何直截了当地做这件事呢?
你需要双重逃避\\
,逃脱.
以匹配文字点并逃避\
.请记住,使用sub
替换第一次出现的模式,gsub
替换所有出现的事件.
string <- "a.b" sub('\\.', '_', string) [1] "a_b" string <- "a.b.c.d.e.f" gsub('\\.', '_', string) [1] "a_b_c_d_e_f"
您也可以使用sub
或gsub
使用fixed = TRUE
参数.这将使用表示您要搜索的模式的字符串,因为它忽略了特殊字符.
string <- "a.b" sub('.', '_', string, fixed = TRUE) [1] "a_b"
.
匹配任何角色.逃避.
使用字面\
匹配.
.
\
本身也应该被转义:
> gsub("\\.", "_", "a.b") [1] "a_b"