2016-04-14 4 views
0

Я попытался сделать это с поиском местоположения шаблона, но при замене я не могу сохранить старую строку. Ниже приведен пример:Как добавить строку перед шаблоном, сохраняя строку как есть?

old <- "(101==1,2) AND (102==1)" 
str_replace_all(old, "\\(\\d+", replacement = "(stringToReplace") 

Это печать

(stringToReplace==1,2) AND (stringToReplace==1) 

Но я хочу, как выход

(stringToReplace101==1,2) AND (stringToReplace102==1) 

ответ

3

Вы можете разместить скобки части регулярного выражения. Вы можете ссылаться на них с помощью \1, \2 и т.д. В этом случае я добавил скобки \\d+ с \\1 в замене я добавляю все, что было установлено соответствие с первым набором скобок:

str_replace_all(old, "\\((\\d+)", replacement = "(stringToReplace\\1") 

Для получения дополнительной информации см например, раздел Замена регулярных совпадений в векторах строк в Regular Expressions with The R Language

+0

Спасибо @Jan Это сработало. :) –

 Смежные вопросы

  • Нет связанных вопросов^_^