已更新 我需要在大括号{}之间获取字符。
例如,
a <- "{a,b}->{v}"
输出:
a,b
和v
答案 0 :(得分:2)
很抱歉,我正在回答我自己的问题,但
public static void main(String args[]) throws IOException{
//creating presentation
XMLSlideShow ppt = new XMLSlideShow();
//getting the slide master object
XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0];
//get the desired slide layout
XSLFSlideLayout titleLayout = slideMaster.getLayout(SlideLayout.TITLE);
//creating a slide with title layout
XSLFSlide slide1 = ppt.createSlide(titleLayout);
//selecting the place holder in it
XSLFTextShape title1 = slide1.getPlaceholder(0);
显然,对于大括号和括号,我们必须将其放在j <- "{a,b}->{v}"
unlist(strsplit(j, split="[{}]"))
答案 1 :(得分:2)
如果您需要在花括号中的字符串之间匹配字符串,但不包括花括号,则可以使用
a <- "{a,b}->{v}"
stringr::str_extract_all(a, "(?<=\\{)[^{}]+(?=\\})") # With stringr library
# => [1] "a,b" "v"
regmatches(a, gregexpr("(?<=\\{)[^{}]+(?=\\})", a, perl=TRUE)) # Base R approach #1
# => [1] "a,b" "v"
regmatches(a, gregexpr("\\{\\K[^{}]+(?=\\})", a, perl=TRUE)) # Base R approach #2
# => [1] "a,b" "v"
请参见regex #1 demo。详细信息:
(?<=\{)
-一个positive lookbehind,需要在当前位置的左侧紧靠{
[^{}]+
-除{
和}
以外的1个或多个字符(由于+
quantifier)([^...]
是一个取反的括号TRE regex中的表达式(默认情况下在基本R regex函数中使用)(或NFA regex中的negated character class,在 stringr 包中的ICU regexp中使用)< / li>
(?=\})
-一个positive lookahead,需要在当前位置的左侧紧靠}
\{\K
表示在匹配并消耗{
之后,匹配的文本将从匹配值中丢弃,因此{
不会进入结果。有关更多详细信息,请参见Keep The Text Matched So Far out of The Overall Regex Match。要匹配非嵌套花括号(包括花括号)中的字符串,可以使用
a <- "{a,b}->{v}"
stringr::str_extract_all(a, "\\{[^{}]*\\}") # With stringr library
regmatches(a, gregexpr("\\{[^{}]*}", a)) # Base R approach
# => [1] "{a,b}" "{v}"
请参见regex
此处,\{[^{}]*\}
匹配所有以{
开头的子字符串,然后匹配除{
和}
之外的0+个字符(带有[^{}]*
),然后以结尾}
。
请参见R demo online。
答案 2 :(得分:1)
您可以使用 stingr的 str_extract_all
在下面的表达式中,(?<=\\{)
用于查找大括号,(?=\\})
用于检测封闭的括号,.+?
用于提取中间的括号。因此,最终表达式将变为(?<=\\{).+?(?=\\})
这将返回一个list()
str_extract_all(a, "(?<=\\{).+?(?=\\})")[[1]]
请遵循我执行的另一个示例:
> a <- "{a,b}->{v}{d}{c}{67}"
> str_extract_all(a, "(?<=\\{).+?(?=\\})")[[1]]
[1] "a,b" "v" "d" "c" "67"
答案 3 :(得分:0)
下面是代码
[NSURLSession sharedSession].configuration.URLCredentialStorage
答案 4 :(得分:0)
这是我的解决方法
library(stringr)
a <- "{a,b}->{v}"
betw_curly <- function(a) {
str_sub(a,
str_locate_all(a, '\\{')[[1]][,1]+1,
str_locate_all(a, '\\}')[[1]][,1]-1)
}
betw_curly(a)
[1]“ a,b”“ v”
答案 5 :(得分:0)
函数tools::delimMatch()
就是为此目的而设计的。
tx <- '\\caption{Groups are \\code{ctl} and \\code{trt}}.\label{fig:gps}'
tools::delimMatch(tx, delim = c("{", "}"))
## [1] 9
## attr(,"match.length")
## [1] 38
substring(tx,9,9+38-1)
## "{Groups are \\code{ctl} and \\code{trt}}"
请注意,没有捕获到第二个匹配项({fig:gps}
)。