首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >修整字符串开头的r函数

修整字符串开头的r函数
EN

Stack Overflow用户
提问于 2022-02-10 02:25:57
回答 2查看 43关注 0票数 0

下面是我正在处理的数据集的示例。

代码语言:javascript
运行
复制
df <- data.frame( precinct = c("01-001", "01-002", "Adv 1 01-001", "Adv 1 01-002"), total = c(100, 102, 4, 6))

我需要删除特定的字符串"Adv 1“,同时保持其他所有的完整。我考虑了str_replace()和str_remove()这样的字符串函数,但我知道它只适用于单个字母。是否有执行修整的功能或过程?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-10 02:31:18

您可以使用gsub()将文本替换为空。

更新2:@r2evans:指出

如果字符串中有多个"Adv 1“模式,并且只希望替换开头的模式,则在代码中使用"^Adv 1”而不是"Adv 1“(例如df %>% mutate(precinct = gsub("^Adv 1 ", "", precinct)))。

^是一个正则表达式(regex),它指定字符串的开头。

谢谢你的建议!

蒂德弗斯

这将不会取代您的df,除非您将结果分配给它。

代码语言:javascript
运行
复制
library(tidyverse)

df %>% mutate(precinct = gsub("Adv 1 ", "", precinct))

tidyverse更新:在评论中,@Onyambu建议我为解决方案包括以下代码。谢谢@Onyambu!

代码语言:javascript
运行
复制
df %>% mutate(precinct = str_remove(precinct, 'Adv 1 '))

代码语言:javascript
运行
复制
df %>% mutate(precinct = str_replace(precinct, 'Adv 1 ', ''))

基R

这将立即取代您的df

代码语言:javascript
运行
复制
df[, 1] <- gsub("Adv 1 ", "", df[, 1])
票数 0
EN

Stack Overflow用户

发布于 2022-02-10 02:48:32

另一个R基解决方案:

代码语言:javascript
运行
复制
df <- data.frame( precinct = c("01-001", "01-002", "Adv 1 01-001", "Adv 1 01-002"), total = c(100, 102, 4, 6))
df[,1] <- trimws(df[,1], whitespace =  "Adv 1")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71059083

复制
相关文章

相似问题

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