我想知道0周围的人数1.但如果有多个0不被中断,1它只计为一个.
string <- "1101000010101111001110"
Run Code Online (Sandbox Code Playgroud)
这是我能做的最接近的:
length(gregexpr(pattern ="101",string)[[1]])
Run Code Online (Sandbox Code Playgroud)
预期产量:
5
Run Code Online (Sandbox Code Playgroud)
有了gregexpr您可以使用前向断言以perl=True找到重叠的匹配:
(?=...)是一个先行断言:
(?=...)零宽度正向前瞻断言.例如,
/\w+(?=\t)/匹配单词后跟选项卡,而不包括选项卡$&.
length(gregexpr("(?=10+1)", string, perl=TRUE)[[1]])
Run Code Online (Sandbox Code Playgroud)