首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何移除一个词,在R向量中它后面是什么?

我如何移除一个词,在R向量中它后面是什么?
EN

Stack Overflow用户
提问于 2019-04-11 01:05:06
回答 2查看 54关注 0票数 0

我是R的新手,我需要删除一个单词,以及后面的引号,从dataframe中的向量中删除。

以下是我所拥有的一点:

代码语言:javascript
复制
c("'character': 'Ted the Bellhop', 'credit_id': '52fe420dc3a36847f80001b7', 2",
  "'character': 'Man', 'credit_id': '52fe420dc3a36847f800018b', 2",
  "'character': 'Angela', 'credit_id': '52fe420dc3a36847f8000183', 1")

我正在处理一个大型数据集,因此我需要找到一种方法来删除“字符”:以及后面的内容(“”、“Man”等等)。

为此,我尝试使用fromJSON,但它无法工作,所以我选择手动删除。我能够删除其中只有数字的字段,使用:

代码语言:javascript
复制
x <- gsub("'cast_id': [[:digit:]]+,", "", x)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-11 02:37:45

这应该可以做到:

代码语言:javascript
复制
x <- gsub("'character': '[^']*',", "", x)

这与您对cast_id字段所做的几乎一样,只不过它将删除与正则表达式'[^']*'匹配的值,而不是数字。请将此理解为:

  • [^']:除'以外的任何字符
  • [^']*:与上面相同,重复0次或多次
  • '[^']*':和上面一样,用单引号包装

希望这是有意义的。

票数 0
EN

Stack Overflow用户

发布于 2019-04-11 02:00:16

我仍然不清楚你的预期产出,这就是你想要的吗?

代码语言:javascript
复制
sub("^.+\\s(?='credit_id')", "", ss, perl = T)
#[1] "'credit_id': '52fe420dc3a36847f80001b7', 2"
#[2] "'credit_id': '52fe420dc3a36847f800018b', 2"
#[3] "'credit_id': '52fe420dc3a36847f8000183', 1"

或者这个?

代码语言:javascript
复制
sub("^.+\\s('credit_id': '\\w+'),.+$", "\\1", ss, perl = T)
#[1] "'credit_id': '52fe420dc3a36847f80001b7'"
#[2] "'credit_id': '52fe420dc3a36847f800018b'"
#[3] "'credit_id': '52fe420dc3a36847f8000183'"

样本数据

代码语言:javascript
复制
ss <- c("'character': 'Ted the Bellhop', 'credit_id': '52fe420dc3a36847f80001b7', 2",
  "'character': 'Man', 'credit_id': '52fe420dc3a36847f800018b', 2",
  "'character': 'Angela', 'credit_id': '52fe420dc3a36847f8000183', 1")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55623265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档