[R] interval between specific characters in a string...

Andrew Simmons @kw@|mmo @end|ng |rom gm@||@com
Sat Dec 3 01:01:18 CET 2022


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.cooch using 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 using 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]]



More information about the R-help mailing list