在R

时间:2015-09-21 01:17:02

标签: regex r stringr

我已经加载了80多个文本文档的列表。在每个文档中,有多个地方我想以下列模式提取信息:\\\ text \\\。这里我想要“文本”,但不知道如何处理R中的“\”字符。

例如,如果我尝试将一个小示例加载为测试,则会出现以下错误:

string <- "\\\Ok; front of house rude!\\\"
Error: '\O' is an unrecognized escape in character string starting ""\\\O"

如果我将string更改为"\\\\OK; front of house!\\\\",那么我可以继续测试示例,但请记住,在加载的文本文档中,格式为\\\ text \\\。

我正试图在中间抓取文本,我收到以下错误:

str_extract_all(string, "(?<=\\).*(?=\\)")

Error in stri_extract_all_regex(string, pattern, simplify = simplify,  : 
Incorrectly nested parentheses in regexp pattern. (U_REGEX_MISMATCHED_PAREN)

只是为了表明lookbehind-lookahead组合有效:

str_extract_all(string, "(?<=\\;).*(?=\\!)")

[[1]]
[1] " front of house rude"

编辑:

再次,请使用以下字符串并应用str_replace_all

string <- "\\\\Ok; front of house rude!\\\\"
str_replace_all(string, "\\+", "REPLACE_ME")

# returns the original string rather than replacing the pattern
[1] "\\\\Ok; front of house rude!\\\\"

0 个答案:

没有答案