[R] Difficulty with "\\" in string functions....
mcg@rvey@bern@rd @end|ng |rom comc@@t@net
Mon Feb 11 21:19:15 CET 2019
Brilliant! Thanks a million Ivan.
Lion Bernard McGarvey
Director, Fort Myers Beach Lions Foundation, Inc.
Retired (Lilly Engineering Fellow).
> On February 11, 2019 at 3:13 PM Ivan Krylov <krylov.r00t using gmail.com> wrote:
> On Mon, 11 Feb 2019 15:01:16 -0500 (EST)
> Bernard McGarvey <mcgarvey.bernard using comcast.net> wrote:
> > Now I try to split it using
> > str_split(Fname1,"\\")
> > but this returns an error
> > Error in stri_split_regex(string, pattern, n = n, simplify =
> > simplify, : Unrecognized backslash escape sequence in pattern.
> > (U_REGEX_BAD_ESCAPE_SEQUENCE)
> This happens because the second parameter of str_split is by default a
> regular expression, and a backslash has a special meaning in regular
> expressions: when preceding other characters, it may change the way
> they are interpreted. (For example, w means a literal "w"
> character, while \w means "any alphanumeric character". On the
> other hand, [ starts a character group, but \[ means just an opening
> square bracket.) See ?regex for more info on that.
> Since you want a literal backslash, you need to escape it with another
> backslash: \\
> But to write a string literal of a double-backslash in R, you need to
> escape both backslash characters, each with their own backslash: "\\\\"
> ## fname <- "D:\\Data\\OneDrive\\ISTA Documents\\QT_App\\QT Analysis
> Input Data Example WorkBook.xlsx"
> ## message("\\\\")
> ## str_split(fname, "\\\\")
>  "D:"
>  "Data"
>  "OneDrive"
>  "ISTA Documents"
>  "QT_App"
>  "QT AnalysisInput Data Example WorkBook.xlsx"
> You can also avoid all layers of the backslash hell (except the first)
> if you choose to split by fixed strings instead of regular expressions
> by using stringr::fixed:
> ## str_split(fname, fixed("\\"))
> Best regards,
More information about the R-help