gpt4 book ai didi

R正则表达式匹配字符串的开头和结尾,忽略中间

转载 作者:行者123 更新时间:2023-12-03 15:29:05 32 4
gpt4 key购买 nike

在R中,如何创建匹配开始和结束字符串的正则表达式,而忽略两者之间的所有内容?

具体来说,如何从以下字符串中查找以“./xl/worksheets”开头并以“.xml”结尾的字符串?

myfiles <- c("./_rels/.rels", "./xl/_rels/workbook.xml.rels", 
"./xl/workbook.xml", "./xl/worksheets/sheet4.xml",
"./xl/worksheets/_rels/sheet1.xml.rels", "./xl/worksheets/sheet2.xml",
"./xl/printerSettings/printerSettings11.bin")

我成功了
grep("^\\./xl/worksheets", myfiles) # returns 4 5 6
grep("\\.xml$", myfiles) # returns 3 4 6

当然,我可以这样做:
which(grepl("^\\./xl/worksheets", myfiles) &
grepl("\\.xml$", myfiles)) # returns 4 6

但是,我无法弄清楚如何在两种模式之间进行通配符处理。

最佳答案

只需在开始和结束之间添加一个match all模式.*即可:

grep("^\\./xl/worksheets.*\\.xml$", myfiles) 
# [1] 4 6

关于R正则表达式匹配字符串的开头和结尾,忽略中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50668761/

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