gpt4 book ai didi

r - 如何从给定字符/文本(#regex)的两侧同时删除文本/字符?

转载 作者:行者123 更新时间:2023-12-05 04:32:44 25 4
gpt4 key购买 nike

r 中删除给定字符/文本左右两侧的文本的最简单方法是什么?

我有以下数据集的示例:a = c("C:\\final docs with data/Gakenke_New_Sanitation.xlsx", "C:\\final docs with data/Gatsibo_New_Sanitation.xlsx", "C:\\final docs with data/Rutsiro_New_Sanitation.xlsx ")

我的预期产出是:Gakenke、GatsiboRutsiro

我知道,我可以分解这个任务并使用 mutate() 处理它,如下所示:

a %>% mutate(a = str_remove(a, "C.+/"), a = str_remove(a,"_.+"))

我现在的问题是,我可以将哪个简单的模式传递给那个变异函数以保持我的预期结果:Gakenke、GatsiboRutsiro .

非常感谢任何帮助。谢谢!

最佳答案

你可以使用

a = c("C:\\final docs with data/Gakenke_New_Sanitation.xlsx", "C:\\final docs with data/Gatsibo_New_Sanitation.xlsx",  "C:\\final docs with data/Rutsiro_New_Sanitation.xlsx")
library(stringr)
str_remove_all(a, "^.*/|_.*")
## => [1] "Gakenke" "Gatsibo" "Rutsiro"

stringr::str_remove_all 删除找到的所有模式。 ^.*/|_.* 匹配一个字符串,从开始到最后一个 / 然后从 _ 到字符串结尾 (请注意,假定该字符串没有换行符)。

关于r - 如何从给定字符/文本(#regex)的两侧同时删除文本/字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71600220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com