r - 在 R 中,有没有办法使用正则表达式或类似的东西来提取电子邮件字符串的第一个和最后一个字符?
问题描述
目前在 R 中,使用 data.table,我有以下列:
jamesmann@yahoo.com
bill.free@yahoo.com
computer.trader@yahoo.com
j*****n@gmail.com
这是因素。我想解析上面的内容,以便我可以在@
符号之前获取用户名的第一个和最后一个字母。
所以对于上面我想得到:
jn
be
cr
jn
我处理一些带星号的用户名,所以我也添加了它。有没有一种简单的方法可以做到这一点?任何想法将不胜感激。
解决方案
将以下模式与字符串匹配并将其替换为捕获组:
sub("(.).*(.)@.*", "\\1\\2", s)
## [1] "jn" "be" "cr" "jn"
笔记
可重现形式的输入字符串是:
s <- c("jamesmann@yahoo.com", "bill.free@yahoo.com", "computer.trader@yahoo.com",
"j*****n@gmail.com")
推荐阅读
- wordpress - Wordpress 元查询不适用于动态参数
- c# - 将两个字符串与替换字符匹配
- amazon-sqs - sqs源上的Siddhi轮询间隔不起作用
- spring - @ControllerAvice 异常处理程序不起作用内部服务器错误
- google-api - 如果提供了共享 URL,Google Drive Api 如何获取带有子目录的目录数据?
- elasticsearch - 如何在互联网上搜索每个单词以特定字母开头的短语?
- scala - 从模板创建项目时出现奇怪的异常 - 让我完全惊讶
- python - 如何计算最大集群的节点数?
- java - 如何忽略 XML Schema 导入并在本地提供源?
- c# - 模型生成器无法加载 ML.Net Data.SaveAsText CSV 文件