繁体   English   中英

提取所有内容,直到第三阶段

Extract everything until third period in stringr

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有此Identifier

structure(list(Identifier = c("NC.1.OA", "NC.1.OA.0", "NC.1.OA.1", 
"NC.1.OA.1.a", "NC.1.OA.1.b", "NC.1.OA.1.c", "NC.1.OA.2", "NC.1.OA.2.0", 
"NC.1.OA.3", "NC.1.OA.4", "NC.1.OA.4.0", "NC.1.OA.9", "NC.1.OA.6", 
"NC.1.OA.6.a", "NC.1.OA.6.b", "NC.1.OA.6.c", "NC.1.OA.6.d", "NC.1.OA.6.e", 
"NC.1.OA.6.f", "NC.1.OA.6.f.0", "NC.1.OA.7", "NC.1.OA.8")), row.names = c(NA, 
-22L), class = c("tbl_df", "tbl", "data.frame"))

我想从此列中提取NC.1.OA 通常,这将提取从开始到第三个时段的所有内容,但是第一行会违反该规则,因为只有两个时段。

我尝试了没有雪茄的gsub(".*\\\\.(.*)\\\\..*", "\\\\1", Identifier)

1 个回复

我们可以使用str_extract

library(tidyverse)
df %>% 
  mutate(new = str_extract(Identifier, "NC\\.1\\.OA"))

另外,如果我们正在使用sub (因为我们不在全局替换中,所以不需要gsub ),请使用位置标识符进行修复,以将字符串通知开始( ^ )。 在下面的模式中,我们匹配一个或多个不是的字符. [^.]+ )后跟一个. [.] -点是一个元字符,因此我们将其转义或放在方括号中以按字面值求值),然后再加上一个数字( \\\\d+ ),然后是一个. 和不是点的字符(如前所述),将它们捕获为一个组(用方括号括起来),在替换中使用捕获组的后向引用( \\\\1

sub("^([^.]+[.]\\d+[.][^.]+).*", "\\1", df$Identifier)
#[1] "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA"
#[12] "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA" "NC.1.OA"
2 TCP三路握手的第三阶段使用哪个套接字?

我们知道有两个插座,欢迎插座和连接插座,如下图所示: 因此,欢迎套接字用于启动TCP三向握手,而连接套接字实际上用于在客户端和服务器之间进行数据传输。 下面是描述TCP三向握手过程的图片: 三向握手的第三阶段可以在段有效负载中携带客户端到服务器的数据。 所以我的问题是,哪个套接字用于发 ...

4 如何在angularJS中执行$ scope的三阶段过滤?

我想在我的$ scope上执行一个3阶段过滤器,例如: 因此,首先用户会选择一个课程代码,然后将结果缩小 下一个选择框(Occurrence)将过滤第一个(课程代码)的结果 最后,最后一个选择框(Tutor组名称)将过滤先前过滤的剩余结果并显示它们。 请问正确的角度方法 ...

5 三阶段提交协议(3PC)如何保证原子性?

我目前正在探索像2PC和3PC这样的原子提交协议的最坏情况,并且我无法找到3PC可以保证原子性的原因 。 也就是说,它如何保证如果群组A提交,群组B也会提交? 这是维基百科文章中简化的3PC : 现在让我们假设以下情况: 两个队列参与交易(A和B) 两人都做他们 ...

7 如何搜索文本字段并提取关键字之后的所有内容,直到“ / n”行的结尾

我的文本块很大且不一致(我正在使用OCR进行测试并随机打印出来,但是我的最终代码将使用驾驶执照或其他形式的ID) 我想在文本中搜索诸如“名称”或“ 1)”之类的关键字,然后提取所有“该关键字之后”的内容,直到到达断点或行尾。 我目前正在使用: 仅提取名字(例如George)时 ...

8 Angular:根据2阶段下拉菜单显示div内容

我想要一个网页的构造如下:应该有2个下拉菜单,其中第二个下拉菜单取决于第一个下拉菜单(见下文)。 此外,应该有一个div部分,显示一些内容取决于两个下拉菜单中的输入。 例如: 下拉菜单1:可用选项为“A”和“B” 下拉菜单2:可用选项 如果在下拉菜单1中选择“A”, ...

10 提取括号内的所有内容

我有一个带有标签的HTML字符串保存在数据库中,例如: 我想用真实数据替换所有标签,现在我循环浏览所有可用数据并替换它是否存在。 有没有更好的方法可以在不循环遍历所有$data情况下执行此操作? 现在这已经增长到超过5000行。 我的意思是有可能提取所有变量{$ name ...

2013-05-13 16:12:22 3 56   php
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM