Могу ли я сослаться на несколько элементов регулярного выражения одним выражением? - PullRequest
2 голосов
/ 18 апреля 2019

Я использую R и пытаюсь очистить строку.

 string <- '{\n  \"bigint\": \"aaa6d928-aaaa-3333-5555-8598e3c78d7a\"\n}'
 a <- str_remove_all(string, '"')
 b <- str_remove_all(a, "\\{") 
 c <- str_remove_all(b, "\\}") 
 d <- str_remove_all(c, "\\n")  
 e <- str_remove_all(d, "\\s+")

Я бы хотел поместить их в одно str_remove_all утверждение. Я пытался связать воедино фильтры, подобные этим ('"' | \\{) и ['"'] | [\\{], и ни один из них не работал.

Как вы ссылаетесь на разные части одной и той же строки?

1 Ответ

2 голосов
/ 18 апреля 2019

Мы можем поместить его в квадратные скобки

library(stringr)
str_remove_all(string, '["{}\n ]+')
#[1] "bigint:aaa6d928-aaaa-3333-5555-8598e3c78d7a"

или использовать gsub из base R

gsub('["{}\n ]+', "", string)
#[1] "bigint:aaa6d928-aaaa-3333-5555-8598e3c78d7a"

, что аналогично

e
#[1] "bigint:aaa6d928-aaaa-3333-5555-8598e3c78d7a"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...