try

gregexpr('b+', target_string)

which looks for one or more b characters, then get the attribute
"match.length"

On Fri, Dec 2, 2022, 18:56 Evan Cooch <evan.co...@gmail.com> wrote:

> Was wondering if there is an 'efficient/elegant' way to do the following
> (without tidyverse). Take a string
>
> abaaabbaaaaabaaab
>
> Its easy enough to count the number of times the character 'b' shows up
> in the string, but...what I'm looking for is outputing the 'intervals'
> between occurrences of 'b' (starting the counter at the beginning of the
> string). So, for the preceding example, 'b' shows up in positions
>
> 2, 6, 7, 13, 17
>
> So, the interval data would be: 2, 4, 1, 6, 4
>
> My main approach has been to simply output positions (say, something
> like unlist(gregexpr('b', target_string))), and 'do the math' between
> successive positions. Can anyone suggest a more elegant approach?
>
> Thanks in advance...
>
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to