gpt4 book ai didi

r - 从第一个方括号中提取一个字符串,从右到左开始

转载 作者:行者123 更新时间:2023-12-01 09:12:35 24 4
gpt4 key购买 nike

我试图仅从从右到左开始的第一个方括号中提取字符串

我使用 str_matchregexpr 尝试了多种方法,但我做不到。

c<-"Sens [91] [DRCol105]_Issuer[Risk\\Issuer]"

str_match(c,"\\[.*?\\]$")

OR

start.char<-regexpr("\\[*$",c)[1]+2
stop.char<-regexpr("\\]*$",c)[1]-1
substr(c,start.char,stop.char)

我想提取最后一个方括号内的所有内容。在这个例子中,我想提取并保存在一个变量中,只有“Risk\Issuer”。

最佳答案

这是另一个使用正则表达式的解决方案

# s <- "Sens [91] [DRCol105]_Issuer[Risk\\Issuer]"

gsub('.*\\[(.*)\\]', '\\1', s, perl = TRUE)
# [1] "Risk\\Issuer"

正则表达式 .*\\[(.*)\\]) 提取 last 方括号内的字符串。

或者

# s <- c("Sens [91] [DRCol105]_Issuer[Risk\\Issuer]", "123 [91]@[test] something follows")

gsub('.*\\[(.*)\\][^\\[]*', '\\1', s, perl = TRUE)
# [1] "Risk\\Issuer" "test"

如果字符串不以括号结尾,它的优点是可以工作。

关于r - 从第一个方括号中提取一个字符串,从右到左开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56235665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com