gpt4 book ai didi

r - 如何根据 R 中的其他列删除字符串的一部分?

转载 作者:行者123 更新时间:2023-12-03 08:28:57 24 4
gpt4 key购买 nike

我想删除字符串的一部分(基于另一列),并且我对字符串的其余部分感兴趣...

示例:

  dt <- data.frame(SomeText = c("ABCDEF", "ABCDEF", "ABCDEF"), 
ToRemove = c("A", "CDE", ""),
WantedResult = c("BCDEF", "ABF", "ABCDEF"))

> dt
SomeText ToRemove WantedResult
1 ABCDEF A BCDEF
2 ABCDEF CDE ABF
3 ABCDEF ABCDEF

因此(以第 2 行为例),从“ABCDEF”中删除“CDE”,这样我们就只剩下“ABF”

最佳答案

将空模式替换为^$

dt$ToRemove[dt$ToRemove == ''] <- '^$'

然后使用矢量化的stringr::str_remove

dt$result <- stringr::str_remove(dt$SomeText, dt$ToRemove)
dt
# SomeText ToRemove result
#1 ABCDEF A BCDEF
#2 ABCDEF CDE ABF
#3 ABCDEF ^$ ABCDEF

关于r - 如何根据 R 中的其他列删除字符串的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65713337/

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