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