gpt4 book ai didi

regex - R 正则表达式 : isolate a string between quotes

转载 作者:行者123 更新时间:2023-12-03 15:07:39 25 4
gpt4 key购买 nike

我有一个字符串 myFunction(arg1=\"hop\",arg2=TRUE) .我想隔离引号之间的内容(在此示例中为 \"hop\")

到目前为止我已经尝试过但没有成功:

gsub(pattern="(myFunction)(\\({1}))(.*)(\\\"{1}.*\\\"{1})(.*)(\\){1})",replacement="//4",x="myFunction(arg1=\"hop\",arg2=TRUE)")

欢迎正则表达式大师的任何帮助!

最佳答案

尝试

 sub('[^\"]+\"([^\"]+).*', '\\1', x)
#[1] "hop"

或者
 sub('[^\"]+(\"[^\"]+.).*', '\\1', x)
#[1] "\"hop\""
\"不需要,因为 "也能用
 sub('[^"]*("[^"]*.).*', '\\1', x)
#[1] "\"hop\""

如果有多个匹配项,正如@AvinashRaj 在他的帖子中提到的, sub可能没那么有用。使用 stringi 的选项将是
 library(stringi)
stri_extract_all_regex(x1, '"[^"]*"')[[1]]
#[1] "\"hop\"" "\"hop2\""

数据
 x <- "myFunction(arg1=\"hop\",arg2=TRUE)"
x1 <- "myFunction(arg1=\"hop\",arg2=TRUE arg3=\"hop2\", arg4=TRUE)"

关于regex - R 正则表达式 : isolate a string between quotes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29508943/

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