Regex r中的gsub,仅适用于某些值
我是R的新手,所以如果这太基本,我很抱歉。 我有一个包含586行的“.txt”文件,如下所示: 数据: 但我需要这些:Regex r中的gsub,仅适用于某些值,regex,r,gsub,Regex,R,Gsub,我是R的新手,所以如果这太基本,我很抱歉。 我有一个包含586行的“.txt”文件,如下所示: 数据: 但我需要这些: *M1 D1.13 o,o,o,o,o,-,o,o,o,-, *M2 D1.13 o,ab,o,o,o,-,o,o,o,-, 所以,我使用了gsub函数: gsub(",", " ", data) 但它改变了我的所有其他数据。如何仅更改所有数据中的前两个“?” 提前谢谢 如何仅更改所有数据中的前两个“?” 你可以用潜艇 sub("^([^,]*),([^,]*),", "\
*M1 D1.13 o,o,o,o,o,-,o,o,o,-,
*M2 D1.13 o,ab,o,o,o,-,o,o,o,-,
所以,我使用了gsub函数:
gsub(",", " ", data)
但它改变了我的所有其他数据。如何仅更改所有数据中的前两个“?”
提前谢谢
如何仅更改所有数据中的前两个“?”
你可以用潜艇
sub("^([^,]*),([^,]*),", "\\1 \\2 ", x)
示例:
> x <- c("*M1,D1.13,o,o,o,o,o,-,o,o,o,-,", "*M2,D1.13,o,ab,o,o,o,-,o,o,o,-,")
> sub("^([^,]*),([^,]*),", "\\1 \\2 ", x)
[1] "*M1 D1.13 o,o,o,o,o,-,o,o,o,-," "*M2 D1.13 o,ab,o,o,o,-,o,o,o,-,"
>x sub(“^([^,]*),([^,]*),”,“\\1\\2”,x)
[1] “*M1 D1.13 o,o,o,o,o,-,o,o,o,-,”*M2 D1.13 o,ab,o,o,o,-,o,o,o,-,”
如何仅更改所有数据中的前两个“?”
你可以用潜艇
sub("^([^,]*),([^,]*),", "\\1 \\2 ", x)
示例:
> x <- c("*M1,D1.13,o,o,o,o,o,-,o,o,o,-,", "*M2,D1.13,o,ab,o,o,o,-,o,o,o,-,")
> sub("^([^,]*),([^,]*),", "\\1 \\2 ", x)
[1] "*M1 D1.13 o,o,o,o,o,-,o,o,o,-," "*M2 D1.13 o,ab,o,o,o,-,o,o,o,-,"
>x sub(“^([^,]*),([^,]*),”,“\\1\\2”,x)
[1] “*M1 D1.13 o,o,o,o,o,-,o,o,o,-,”*M2 D1.13 o,ab,o,o,o,-,o,o,o,-,”
gsub((?gsub)(?感谢您的回复!小警告:它将用空格替换任何前面带有数字的coma,不仅前两个空格(适用于示例数据,但可能会对其他数据产生意外结果)。@vks是的,我已用“其他数据”而不是“真实数据”更新了注释(我想到了未来的读者,他们可能会错过这一点,砰砰的一声寻找它为什么不能像预期的那样工作:p)谢谢你的回答!小警告:它将用空格替换前面的任何数字,不仅仅是前两个空格(适用于示例数据,但可能会在其他数据上产生意外的结果)@vks是的,我已经用“其他数据”而不是“真实数据”更新了评论(我在想未来的读者可能会错过这一点,并猛击他们的脑袋,寻找它为什么不能像预期的那样工作:p)谢谢你的回复!谢谢你的回复!我认为值得注意的是,g在gsub
中是全局的,所以一个解决方案是调用sub
两次。@Avinash的答案更好,因为它只是一次通过我认为值得注意的是,g在gsub
中是全局的,所以一个解决方案是调用sub
两次。@Avinash的答案是b因为只有一个通行证