【发布时间】:2013-10-30 11:21:35
【问题描述】:
我是使用R 的新手,并且在使用gsub 正确格式化我的列表时遇到问题。我需要做两个替换。
- 第一次替换将
@之后的所有内容替换为@mydomain.com - 第二次替换将所有
www.替换为空值。
更新
我目前正在运行gsub 两次,并使用我的代码进行了更正,它可以正常工作。我有太多我没有看到的 gsub 实例。
vec <- c('john@mail.com', 'mike@mail.com', 'robbie.b@yahoo.com',
'zack.l.harris@aol.com', 'www.google.com', 'www.gmail.com',
'www.domain.com', 'www.example.com')
vec <- gsub("@.*\\.com", "@mydomain.com", vec)
vec <- gsub("www\\.", "", vec)
print(vec)
更新
但如果可能的话,我想将gsub 作为一个实例同时替换两者。
【问题讨论】:
-
您没有将第一次
gsub调用的结果分配给任何东西。 -
你可以嵌套它:
vec <- gsub("www\\.", "", gsub("@.*\\.com", "@example.com", vec)). -
它在我的代码中分配
-
请告诉我们你的问题是什么;如果它是在您的代码中分配的,那么您不应该得到不正确的格式。请参阅下面的我的答案,其中演示了。如果这不是您想要的,请向我们展示所需的输出。
-
感谢您的澄清,我已在下面删除了我的答案。运行两次不令人满意的任何特殊原因?我想大多数用户会发现它比其他解决方案更简单、更易读。