首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提取特定字符之后的任何内容(不包括特定字符)

提取特定字符之后的任何内容(不包括特定字符)
EN

Stack Overflow用户
提问于 2022-06-07 17:42:45
回答 3查看 33关注 0票数 1

我如何才能从"s13$C6:C7“中得到"C6:C7”(不包括\$本身)

代码语言:javascript
复制
str_extract("s13$C6:C7", '((\\$)=?).*')

这个还是给了我\n在开始的\n。

EN

回答 3

Stack Overflow用户

发布于 2022-06-07 17:45:14

我们可以使用regex查找(?<=)来匹配继承$符号的字符(.*)

代码语言:javascript
复制
library(stringr)
str_extract("s13$C6:C7", '(?<=\\$).*')
[1] "C6:C7"

或使用str_remove匹配字符,直到$移除这些字符。

代码语言:javascript
复制
str_remove("s13$C6:C7", '.*\\$')
[1] "C6:C7"
票数 2
EN

Stack Overflow用户

发布于 2022-06-07 17:48:21

您在美元签名((\\$)=?).*周围有一个捕获组,但是如果您想提取它,您可以在模式的第二部分而不是第一部分使用捕获组。

代码语言:javascript
复制
str_match("s13$C6:C7", '\\$(.*)')[2]

输出

代码语言:javascript
复制
[1] "C6:C7"

注意,.*也可以匹配空字符串。如果美元符号后面应该至少有一个字符,并且您希望将允许的字符与中间的冒号匹配:

代码语言:javascript
复制
str_match("s13$C6:C7", '\\$([A-Z0-9]+(?::[A-Z0-9]+)*)$')[2]

看一个R演示

票数 2
EN

Stack Overflow用户

发布于 2022-06-07 18:01:29

我们也可以使用str_replace

.* 0或更多字符,以说明可选的结束括号、连字符和空格字符

\\$$结尾

代码语言:javascript
复制
library(stringr)
str_replace("s13$C6:C7", '.*\\$', '')
[1] "C6:C7"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72535484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档