我如何才能从"s13$C6:C7“中得到"C6:C7”(不包括\$本身)
str_extract("s13$C6:C7", '((\\$)=?).*')这个还是给了我\n在开始的\n。
发布于 2022-06-07 17:45:14
我们可以使用regex查找(?<=)来匹配继承$符号的字符(.*)
library(stringr)
str_extract("s13$C6:C7", '(?<=\\$).*')
[1] "C6:C7"或使用str_remove匹配字符,直到$移除这些字符。
str_remove("s13$C6:C7", '.*\\$')
[1] "C6:C7"发布于 2022-06-07 17:48:21
您在美元签名((\\$)=?).*周围有一个捕获组,但是如果您想提取它,您可以在模式的第二部分而不是第一部分使用捕获组。
str_match("s13$C6:C7", '\\$(.*)')[2]输出
[1] "C6:C7"注意,.*也可以匹配空字符串。如果美元符号后面应该至少有一个字符,并且您希望将允许的字符与中间的冒号匹配:
str_match("s13$C6:C7", '\\$([A-Z0-9]+(?::[A-Z0-9]+)*)$')[2]看一个R演示。
发布于 2022-06-07 18:01:29
我们也可以使用str_replace
.* 0或更多字符,以说明可选的结束括号、连字符和空格字符
\\$以$结尾
library(stringr)
str_replace("s13$C6:C7", '.*\\$', '')
[1] "C6:C7"https://stackoverflow.com/questions/72535484
复制相似问题