【问题标题】:How to leave only characters in field如何在字段中只留下字符
【发布时间】:2018-09-30 10:24:00
【问题描述】:

我对 R 语言相当陌生。

我有一个字段作为员工代码和姓名的因素。

哪一行命令会删除代码,只从 PastActivity 表中留下 Emp 的名称。

名字

C4241463 - Hadya, Susan

C4315634 - Sarah, S 

预期结果

Hadya, Susan

Sarah, S 

我尝试使用 sub 命令将字符串删除到连字符后的空格处,但仍然没有成功

gsub("C[0-9]\\- ", "", PastActivity$Name)

【问题讨论】:

  • 应该有一个副本:gsub(".* - ", "", "C4241463 - Hadya, Susan")。删除- 之前的所有.*。在您的原始代码中,您必须添加 + (gsub("C[0-9]+ - ", "", "C4241463 - Hadya, Susan"))
  • @PoGibas 是正确的,请注意,您自己的答案非常接近。 IE。尝试将您的 gsub 修改为 gsub("C[0-9]+ - ", "", PastActivity$Name),它会为您工作

标签: r string gsub


【解决方案1】:

或者使用 stringr 你可以使用

library(stringr)
x <- c("C4241463 - Hadya, Susan", "C4315634 - Sarah, S")
str_trim(str_split(x, "-", simplify = TRUE)[,2])

这里str_split是在“-”中分割,然后str_trim是修剪空白

【讨论】:

  • 为什么要在" - "上拆分并直接去掉空白?
猜你喜欢
  • 1970-01-01
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-17
  • 2019-01-01
相关资源
最近更新 更多