【发布时间】:2022-01-01 03:37:15
【问题描述】:
我对字符串中的字符替换有一个特定的问题:
如果我有以下字符串
"..A.B....c...A..D.."
"A..S.E.Q.......AW.."
".B.C..a...R......Ds"
我应该使用哪个正则表达式替换来替换点并获得以下字符串:
"A_B_c_A_D"
"A_S_E_Q_AW"
"B_C_a_R_Ds"
我正在使用 R。
提前致谢!
【问题讨论】:
-
这里真的需要正则表达式吗?您可以使用简单的规则迭代字符并删除/替换符号
-
到目前为止,您尝试了什么?为什么它不起作用?
-
是的,我想要正则表达式代码来解决我的问题的原因是避免迭代或任何其他循环代码
-
@Limey 我首先尝试使用 gsub(),但注意到它要复杂得多,而且我会得到比预期更多的“_”。
-
对于字符串
s,gsub('\\.*','_',s)。您还删除了前导和尾随字符,s %>% gsub('\\.*','_',.) %>% gsub('^_','',.) %>% gsub('_$','',.)
标签: r regex string substitution