Skip to content

sf_start needs paranthesis #25

@eribul

Description

@eribul

If I slightly modify the example code from ?sf_starts and use a slightly more complicated pattern, such as b|a, I expect to get matches for all strings starting by either a or b, hence TRUE for alpha and beta but FALSE for gamma and delta. What I get is this, however:

> x <- c("alpha", "beta", "gamma", "delta", "epsilon")
+ stringfish::sf_starts(x, "b|a")
[1]  TRUE  TRUE  TRUE  TRUE FALSE

Looking at the source code for the function I see:

> stringfish::sf_starts
function (subject, pattern, ...) 
{
    pattern <- paste0("^", pattern)
    sf_grepl(subject, pattern, ...)
}

Adding ^ to my pattern would yield ^b|a and will thus match any pattern either starting with b or which has a anywhere.
I would suggest chaning paste0("^", pattern) to paste0("^(", pattern, ")") which would (in my case) yield the more correct ^(b|a).
Similair for sf_ends.

P.S. Thank you very much for a wonderful package! It is really awsome! :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions