【发布时间】:2016-06-18 20:59:21
【问题描述】:
假设我使用 gsub 并想从字符串中删除以下 (=,+,-) 符号并替换为下划线。
当我尝试使用带有加号 (+) 的 gsub 时,有人可以描述发生了什么吗?
test<- "sandwich=bread-mustard+ketchup"
# [1] "sandwich=bread-mustard+ketchup"
test<-gsub("-","_",test)
# [1] "sandwich=bread_mustard+ketchup"
test<-gsub("=","_",test)
# [1] "sandwich_bread_mustard+ketchup"
test<-gsub("+","_",test)
#[1] "_s_a_n_d_w_i_c_h___b_r_e_a_d___m_u_s_t_a_r_d_+_k_e_t_c_h_u_p_"
【问题讨论】:
-
您可以设置
fixed = TRUE或转义“+”。 -
太好了,谢谢!
-
在我看来,R 是一个弱正则表达式平台。如果您的大部分工作都属于这种类型,那么学习 bash 正则表达式工具和/或 Perl 将是值得的。
-
gsub("[+]", "_", test)