Как заменить только один символ в регулярном выражении с помощью str_replace

Еще одним способом может быть использование класса com.google.gdata.util.common.html.HtmlToText, такого как

MyWriter.toConsole(HtmlToText.htmlToPlainText(htmlResponse));

. Это не пуленепробиваемый код, хотя и когда я запускаю его в википедических записях Я также получаю информацию о стиле. Однако я считаю, что для небольших / простых заданий это было бы эффективно.

0
задан Turtlegods 31 March 2019 в 01:50
поделиться

1 ответ

Вы должны захватить символы, которые хотите сохранить с помощью (), а затем использовать \\1 и \\2 для каждой группы.

Ваши replace и регулярные выражения должны быть:

data <- c("1ac 2b", "1 a", "1a b", "1a2b", "0")

attempt1 <- str_replace_all(data, "([abc])(\\d)", "\\1 \\2")
attempt2 <- str_replace_all(attempt1, " ([abc])", "\\1")

> attempt2
[1] "1ac 2b" "1a"     "1ab"    "1a 2b"  "0" 

Вторая замена принимает attempt1 в качестве входных данных для применения обоих правил замены. Вы можете написать оба выражения в одну строку, если хотите.

str_replace_all(str_replace_all(data, "([abc])(\\d)", "\\1 \\2"), " ([abc])", "\\1")
0
ответ дан R. Schifini 31 March 2019 в 01:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: