删除某个重复的键左侧的所有文本

标签 r regex string

我有一个带有一些文本的向量:

 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/

相关文章:

r Shiny 的 rhandsontable : create empty table for copy & paste of data

r - rowSums(X %*% C * X) 的语义是什么

javascript - 选择 Shiny 的目录

java - java中的正则表达式从给定字符串中查找类似${...}的模式

javascript - 在 JavaScript 中删除除 last 之外的特定单词?

c++ - RCPP - 没有匹配函数调用 'transform'

regex - 如何在 unix (osx) 中搜索/替换一堆文本文件

python - 返回两个特定行之间以 [+] 开头的所有行的子字符串

c++ - 从特定行到特定行解析文本文件C++

r - 在以逗号分隔的其他列中添加该列的位置列