我有一个带有一些文本的向量:
vec = c("gjljlfj <Joe", "fsdfs<sdfdsf<Mike", "David" , "dfsf<<<Don")
我希望删除最后一个 <
剩下的所有文本(如果从文本的左侧开始,则为第一个),例如新向量将如下所示:
newVec = c("Joe","Mike","David","Don")
尝试了一些东西,但无法正确处理。下一步是编写从最后一个字母开始并检查每个字母是否为 <
的函数。或没有,但我确信有更好的解决方案(找不到)。
最佳答案
这可以用正则表达式来完成:
regmatches(vec, regexpr("[^<]+$", vec))
[^<]+
匹配“一个或多个不是‘<’的字符”,然后是$
匹配字符串的结尾。
如果您有 stringr
安装包这只是:
stringr::str_extract(vec, "[^<]+$")
关于删除某个重复的键左侧的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56961522/